Question about normalizing values

Hey guys,
I have this code here that reads in odometer reading from two vehicles and plots them.
Here is my question
since each vehicle has its own starting values such as 85K miles or 15K miles...
How would i normalize the initial odometer reading at 0 and loop through the other values with the same proportion?...
Here's the code I have :
public void plotDataset(String label, TimeSeriesCollection tsc,
                               dataSet ds) {
    String dsName = ds.majorDescriptor;
    dbg("processing " + dsName);
    TimeSeries ts = new TimeSeries(label, Day.class);
    int dsSize = ds.size();
    for (int i=0; i<dsSize; i++) {
      dataEl el   = ds.get(i);
      double val  = el.getMainValue();  
      Date   date = el.getDateJava();
      ts.addOrUpdate(new Day(date), val);
     tsc.addSeries(ts);
  }

spoon_ wrote:
Jazman wrote:
This doesn't make sense to me. What it seems to be saying is create an object of type StringWriter and pass a copy of this object to an invoke method. Then pass a copy to the filter method and set the return value to a String call output. However before you pass a copy to the filter method convert it to a String.Objects are not values in Java. "stringWriter" is a reference to a StringWriter object. In your other example "i" is a reference to a String object. A reference is kind of like a pointer in C.
Edited by: spoon_ on Dec 27, 2007 5:44 PMOkay so i is a reference, but then if that reference is passed onto another method doesn't that method instantiate its own copy of that reference, i.e. create a new reference pointing to a new object. That is why the value of String i doesn't change when you pass it to the method.
However the value of stringWriter in the example given below does change;
public class test2 {
    public static void main(String[] args) {
        StringBuilder i = new StringBuilder("Hello");
        System.out.println("The value of i is "+i);
        addOne(i);
        System.out.println("The value of i is now "+i);
    public static void addOne(StringBuilder i){
        i.append("Goodbye");
}why is it that the value of stringWriter is changed when you pass it to a method and the value of String i isn't changed when you pass it through a method?

Similar Messages

  • Question about changing values of a total by selecting a check box.

    OK, so what I did was create a form for my workplace that totals the value an employee's quality of work. what i want this form to do is: In one cell the total is a 100 point value. In one column i have a markable checkbox and in the column next to that there is a point value for that particular category. what i want is to be able to check a box next to category and have the corresponding point value deducted from the "100" total. for example if I check the box next a value of 40, then the 100 becomes a 60 automatically. I am new to numbers, and any spreadsheet app for that matter so any help would be greatly appreciated.

    Tommyboy29 wrote:
    Another question about my last post: numbers will only let me add 2 to 3 cells in the formula to change the "total" number of 100. is there a way to add more then 3 cells? i have 9 cells total that i want to have the ability to subtract from that same total?
    There is no such limit in Numbers. I'm guessing that you ran out of room in the formula edit line in the Formula Bar.
    Grab the double line and pull it down to expand the edit area.
    Jerry

  • Question about normal ipod usage

    Hey, probably a stupid question guys, but I'm new to using a hard disk MP3 player and I've noticed when I have my ear right up against the back of my ipod video and I change songs and the such, it makes not such a scratching noise, but very quick clicking noises. Its probably just the noise of normal hard drive operation, but I figured I'd play it safe with my 500$ investment and check it out with you guys first. Also, in a proper case, are these things OK to go jogging with? Or will that fatigue the hard drive?
    Ipod Video 5.5G 80GB   Windows XP Pro  

    As for jogging, yes, any type of good case will
    suffice, just make sure it holds it securely. I
    remember hearing somewhere in these forums that the
    iPod has something like 25 minutes worth of skip
    protection, so unless you're throwing yourself down
    the side of a mountain, you should have no difficulty
    enjoying you're music while you run. I trail bike
    with my 30GB iPod, and have never run into any
    problems. I use the Speck ToughSkin and it works
    great for me.
    Completely disagree here. Sorry.
    From my personal experience...
    I run 6 days a week 45 minutes each day. Last year I ran with my 30GB iPod every day. I destroyed it. It had a hard drive and I think I shook all the parts around. Eventually, my iPod began freezing and pausing for no reason. I had to stop running just to reboot it. There were more than a few times that I lost all my music on my iPod. Luckily, I was able to get my music back after loading it up from iTunes when I got home.
    Then one day, the spin wheel stopped working. I couldn't do a thing with my iPod. Earlier in the day, I had to reboot it and I lost all my music. No problem I thought. When I got home, the music from iTunes couldn't be loaded into my iPod. I lost all of my music.
    I took it to the Apple Store and they asked me if I run with it. They do not recommend running with an iPod unless it has a flash drive. I bought a new 30GB iPod and a 4GB nano. I only run with the nano cuz of it's flash drive.
    It took about a year for my 30GB iPod to fall apart. The destruction happened slowly but rest assured that it will eventually happen. Invest in a flash drive iPod or run without music. Your final option would be to buy a new hard drive iPod every time it falls apart. The choice is yours.
    Yes, the clicking you hear is normal

  • A question about input values inside PL/SQL block

    Dear all,
    I would appreciate if you could kindly help me with this question.
    Consider the following code.
    DECLARE
      myvar1 NUMBER;
      myvar2 NUMBER;
      myvar3 NUMBER;
    BEGIN
      myvar1 := &1;
      myvar2 := &2;
      myvar3 := &3;
      DBMS_OUTPUT.put_line('myvar1 = ' || myvar1);
      DBMS_OUTPUT.put_line('myvar2 = ' || myvar2);
      DBMS_OUTPUT.put_line('myvar3 = ' || myvar3);
    END;
    /This program reads three values as input and prints them. However, I noticed that if instead of writing
    myvar1 := &1;
    myvar2 := &2;
    myvar3 := &3;I write
    myvar1 := '&1';
    myvar2 := '&2';
    myvar3 := '&3';The program will have very same result. I would like to know whether there is a semantic difference between both syntax,
    that is, is there any difference between for example &myvar1 and 'myvar1'?
    Thanks in advance,
    Dariyoosh

    Try this
    CREATE TABLE test_sem  (x VARCHAR2(10), y NUMBER)
    INSERT INTO test_sem VALUES ('A',1);
    INSERT INTO test_sem VALUES ('B',1);
    INSERT INTO test_sem VALUES ('C',1);
    INSERT INTO test_sem VALUES ('D',1);
    SELECT * FROM test_sem WHERE x='&1' --OK
    SELECT * FROM test_sem WHERE x=&1 -- error not a valid number
    SELECT * FROM test_sem WHERE y=&1 -- ok
    SELECT * FROM test_sem WHERE y='&1' -- ok since numbers can be converted to strings'&1' is for characters &1 for numbers;
    You can verify form above test case
    Regards,
    Bhushan

  • Question about refreshing values in JComboBox

    i have a JComboBox that points to a static array of Objects.
    I am adding an element to this array at some point, but when i do the JComboBox goes blank! All the entries are blank. If I click inside the blank box it will eventually refresh, but it's really annoying.
    What can i do to make this addition of an element happen without the box going blank?
    thanks!

    my goal is to have a Vector that gives the values for a JList and several JComboBoxes, and to be able to add Objects to it and have each of the aforementioned JComponents update themselves appropriately when those additions are received!
    One <tt>JList</tt> and more than one <tt>JComboBox</tt>?
    -- construct a <tt>DefaultComboBoxModel dataModel</tt> with the <tt>Vector</tt>
    -- construct the <tt>JList</tt> with the model.
    -- construct the <tt>JComboBox</tt>es with the <tt>Vector</tt>
    -- add a <tt>PopupMenuListener</tt> to each <tt>JComboBox</tt> that fires the combo's model's <tt>ListDataListener</tt>s in the <tt>popupMenuWillBecomeVisible(...)</tt> method.
    -- add the elements to the model.
        Vector<String> data = new Vector<String>();
        data.add(...);
        DefaultComboBoxModel dataModel = new DefaultComboBoxModel(data);
        JList list = new JList(dataModel);
        PopupMenuListener listener = new PopupMenuListener() {
          @Override
          public void popupMenuWillBecomeVisible(PopupMenuEvent e) {
            JComboBox combo = (JComboBox) e.getSource();
            DefaultComboBoxModel model = (DefaultComboBoxModel) combo.getModel();
            ListDataEvent lde = new ListDataEvent(model,
                    ListDataEvent.CONTENTS_CHANGED, 0, model.getSize());
            for (ListDataListener listener : model.getListDataListeners()) {
              listener.contentsChanged(lde);
          @Override
          public void popupMenuWillBecomeInvisible(PopupMenuEvent e) {
          @Override
          public void popupMenuCanceled(PopupMenuEvent e) {
        JComboBox combo1 = new JComboBox(data);
        combo1.addPopupMenuListener(listener);
        JComboBox combo2 = new JComboBox(data);
        combo2.addPopupMenuListener(listener);
        dataModel.addElement(...);db

  • A question about assigning a default value

    Hi guys, I have a question about assigning a default value to a Numeric Decision CO. This Co needs 2 parameters to compare with each other. I wanna assign para1 during runtime and para2 during design time, but I have no idea how to assign a default value to para2 during design time. Can anyone help me solve this question? Thx a lot.
    BTW I`m searching an article about Time-off example`s "details". I have read several articles about time-off example, but those are not detailed enough. I wanna know about all details of COs. Can anyone forward such article to me, plz.  Thx again.^^

    Hi,
    You can assign a default value to the parameter of a callable object.
    First attach your CO to an Action.At the action level you can assign default values to the CO Parameters.
    Select the action in the design time.
    Select the parameters tab for that action.
    Select the required paramter. At the top, you can find Default value tab, with that you can assign default value.
    I think you can achieve your requirements with Business logic CO better.
    [Business Logic CO|http://help.sap.com/saphelp_nwce10/helpdata/en/44/3d3936c5c14a8fe10000000a1553f6/content.htm]
    Thanks

  • Hi, I have quick question about use of USEBEAN tag in SP2. When I specify a scope of SESSION for the java bean, it does not keep the values that I set for variable in the bean persistent.Thanks,Sonny

     

    Make sure that your bean is implementing the serializable interface and that
    you are accessing the bean from the session with the same name.
    Bryan
    "Sandeep Suri" <[email protected]> wrote in message
    news:[email protected]..
    Hi, I have quick question about use of USEBEAN tag in SP2. When I
    specify a scope of SESSION for the java bean, it does not keep the
    values that I set for variable in the bean persistent.Thanks,Sonny
    Try our New Web Based Forum at http://softwareforum.sun.com
    Includes Access to our Product Knowledge Base!

  • How do I reset my security questions? Normally people are saying something about a rescue email or a thing that will show where your password and security are for me it just shows my two questions  and that is it.- Help

    How do I reset my security questions? Normally people are saying something about a rescue email or a thing that will show where your password and security are for me it just shows my two questions  and that is it.… Help

    Go to Appleid.apple.com and choose Manage ID you can change them from there.
    You can add a rescue email if you don't have one there too.

  • A few questions about Patone colors

    I have a few questions about patone colors since this is the first time I use them. I want to use them to create a letterhead and business cards in two colors.
    1)
    I do understand that the uncoated is more washed out than the coated patone colors. I heard that this is because the way paper absorbs the inkt. This is why the same inkt results in different colors on different paper (right?). My question is why is the patone uncoated black so much different than normal black (c=0 m=0 y=0 k=100) or rich black:
    When I print a normal document with cmyk, I can get pretty dark black colors. Why is it that I cannot have that dark black color with patone colors? Even text documents printed on a cheap printer can get a darker color than the Patone color. It just looks way too grey for me.
    2) For a first mockup, I want to print the patone colors as cmyk (since I put like 10 different colors on a page for fast comparison). I know that these cmyk colors differ from the patone colors and that I cannot get a 100% representation. But is there a way to convert patone to cmyk values?
    I hope that some of you can help me out with my questions.
    Thanks.

    You can get Pantone's CMYK tints in Illustrator, (Swatches Panel > Open Swatch Library > Color Books > PANTONE+ Color Bridge Coated or Uncoated) but in my view, what's the point?  If you're printing to a digital printer, just use RGB (HSB) or CMYK. Personally, I never use Pantone's CMYK so-called "equivalents."
    Pantone colors are all mixed pigmented inks, many of which fluoresce beyond the gamut limits of RGB and especially CMYK. The original Pantone Matching System (PMS) was created for the printing industry. It outlined pigmented ink formulations for each of its colors.
    Most digital printers (laser or inkjet) use CMYK. The CMYK color gamut is MUCH SMALLER than what many mixed inks, printed on either coated or uncoated papers can deliver. When you specify non-coated Pantone ink in AI, according to Pantone's conversion tables, AI tries to "approximate" what that color will look like on an uncoated sheet, using CMYK. -- In my opinion, this has little relevance to real-world conditions, and is to be avoided in most situations.
    If your project is going to be printed on a printing press with spot Pantone inks, then by all means, use Pantone colors. But don't trust the screen colors; rather get a Pantone swatch book and look at the actual inks on both coated and uncoated papers, according to the stock you will use on the press.
    With the printing industry rapidly dwindling in favor of the web and inkjet printers, Pantone has attempted to extend its relevance beyond the pull-date by publishing (in books and in software alliances, with such as Adobe) its old PMS inks, and their supposed LAB and CMYK equivalents. I say "supposed" because again, RGB monitors and CMYK inks can never be literally equivalent to many Pantone inks. But if you're going to print your project on a printing press, Pantone inks are still very relevant as "spot colors."
    I also set my AI Preferences > Appearance of Black to both Display All Blacks Accurately, and Output All Blacks Accurately. The only exception to this might be when printing on a digital printer, where there should be no registration issues.
    Rich black in AI is a screen phenomenon, unless in Prefs > Appearance of Black, you also specify "Output All Inks As Rich Black," -- something I would NEVER do if outputting for an actual printing press. I always set my blacks in AI to "Output All Blacks Acurately" when outputting for a press. If you fail to do this, then on the press you will see any minor registration problems, with C, M, and Y peeking out, especially around black type.  UGH!
    Good luck!  :+)

  • Questions about CIN tax procedure choice and pricing schemas

    Hi all,
    I have to implement SAP on a Indian company and I'm verifying all particularity about this country (in particular tax procedures and the great number of differents tax conditions used).
    I have two questions about tax procedures and pricing schemas. Every feedback about thse points will be appreciated.
    a) To choose tax procedure TAXINN or TAXINJ which are the elements that I have to consider?
         I have read lot of documentation about CIN implementation and Iu2019m oriented to choose TAXINN schema, but If possible I  would  to understand better which are on behalf of one choice or another.
    b) To define pricing schemas for India, after check with local users and using examples of documents (in particular tax invoice) actually produced, I have understood that taxes have to be applied on amount defined starting from price list, minus discounts recognized to customer plus surcharges eventually to bill (packing, transport,  etc.).
    Itu2019s correct for any type of taxes that tax amount is calculated on u201Cnet valueu201D defined at item level or there are exceptions to this rule?
    Thanks in advance
    Gianpaolo

    hi,
    this is to inform you that,
    a) About point 1 I know the difference between the 2 tax procedures (conditions or formulas). I also have read in others post in the FORUM that TAXINN is preferable. So I would to understand which are the advantages to choose instead TAXINJ. There are particular reasons or it'a only an alternative customizing setting?
    a.a. for give for posting the link : plese give me the advantages of TAXINJ and TAXINN
    CIN - TAXINN and TAXINJ
    b) About point 2, to define which value has to be used as base amount to calculate taxes isn't a choice, but is defined depending by fiscal requirement of the country, in this case India fiscal requirement. I know that, as Lakshmipathi
    write as answer on my question, exception could be, but it was important for me to understand if I have understood correctly the sequence of the pricing condition in the schema in "normal" situation.
    b.b. you can create your own pricing procedure for this and go ahead.
    hope this clears your issue.
    balajia

  • Question about the programming of a legend

    Hello everybody,
    I have a question about the programming of a waveform's legend. I
    already asked here in this forum about the legend programming (03)
    months ago.
    I went satisfied but I ve just noticed that this code
    (See Code old_legend_test.llb with main.vi as main function) operates a
    little different from my expectances.
    Therefore I have a new question and I want to know if it
    is possible by labview programming to plot and show, on a waveform
    chart, a signal with activ plot superior to zero (0) without to be
    obliged to plot and show a signal with activ plot equal to zero (0) or
    inferior to the desired activ plot.
    I give you an example
    of what I m meaning. I have by example 4 signals (Signal 0, 1, 2 and 3)
    and each signal corresponds respectively to a channel (Chan1, Chan2,
    Chan3, Chan4). I want to control the legend (activ plot, plot name and
    plot color) programmatically. Is it possible with labview to plot signal
    1 or 2 or 3 or (1, 3) or (2,3) or (1,2,3) or other possible combination
    without to active the signal with the corresponding activ plot zero
    (0)?
    Let see the labview attached data
    (new_legend_test.llb with main.vi as main function). When I try to
    control the input selected values again I get them back but I don't
    understand why they have no effect on the legend of my waveform chart.
    Could somebody explain me what I m doing wrong or show me how to get a
    correct legend with desired plots? Thank by advance for your assistance.
    N.B.
    The
    both attached data are saved with labview 2009.
    Sincerly,PrinceJack
    Attachments:
    old_legend_test.llb ‏65 KB
    new_legend_test.llb ‏65 KB

    Hi
    princejack,
    Thanks for
    posting on National Instruments forum.
    The behavior
    you have is completely normal. You can control the number of row displayed in
    the legend and this rows are linked to the data you send to your graph. Thus,
    if you have 3 arrays of data, let say chan1, chan2 and chan3, you can choose
    which data you want to display in your graph using the property node (Active
    plot and visible). But for the legend as you send 3 plots there is an array of
    the plot name [chan1, chan2, chan3] and you can display 0, 1, 2 or 3 rows of
    this array but you cannot control the order in this array! So, to be able to
    change this array you have to only send data you need to you graph. I'm not
    sure my explanations are clear so I have implemented a simple example doing
    that.
    Benjamin R.
    R&D Software Development Manager
    http://www.fluigent.com/
    Attachments:
    GraphLegend.vi ‏85 KB

  • One question about Pricing and Conditions puzzle me for a long time!

    One question about Pricing and Conditions puzzle me for a long time.I take one example to explain my question:
    1-First,my sale order use pricing procedure RVAA01.
    2-Next,the pricing procedure RVAA01 have some condition type,such as EK01(Actual Costs),PR00(Price)....,and so on.
    3-Next,the condition type PR00 define the Access Sequences PR00 as it's Access Sequences.
    4-Next,the Access Sequences PR00 have some Condition tables,such as:
         table 118 : "Empties" Prices (Material-Dependent)
         table 5 : Customer/Material
         table 6 : Price List Type/Currency/Material
         table 4 : Material
    5-Next,I need to maintain Condition tables's Records.Such as the table 5(Customer/Material).I guess the sap would supply one screen for me to input the data of table 5.At this screen,the sap would ask me to select one table,such as table 5.When I select the table 5,the sap would go to the screen to let me input the data of table 5.But when I use the T-CODE VK31 or VK32 to maintain Condition tables's Record,I found it's total different from my guess:
    A-First,I can not found one place for me to open the table,such as table 5,to let me input the data?
    B-Second,For example,when I select the VK31->Discounts/Surcharges->By Customer/Material,the sap show the grid view at the right side.At the each line of the grid view,you need to select the Condition Type at the first field.And this make me confused very much.Why the sap need me to select one Condition Type but not the Condition table?To the normal logic,it ought not to select Condition table but not the Condition Type!
    Dear all,I'm a new one in sd.May be this is a very stupid question.But it did puzzle me for a long time.If any one can  explain this question in detail and let me understand the concept,I will appreciate him/her very much.Thank you.

    Hi,
    You said that you are using the T.codes VK31 or VK32.
    These transaction codes are used to enter condition records for standard condition types. As you can see a grid left side having all the standard condition types like price, discounts, taxes, frieghts.
    Pl check using T.code VK11 OR VK12 (change mode)
    Here you can enter the required condition type, in the intial screen. (like PR00, MWST, K004, K005 .....etc)
    After giving the condition type, press enter or click on Combinations icon on top of the screen. Then you can see all the condition tables which you maintained for that condition type. Like as you said table 118, table 5, table 6 and table 4.
    You can select any table and press enter, then you can go into the screen in which you have all the field cataglogues you maintained for that table. For example you selected combination of Customer/Material (table 5) then after you press enter then you can see customer field on top, and material fields.
    You can give all the required values and save the conditon record.
    Hope this is clear.
    REWARD IF HELPFUL.
    Regards,
    praveen

  • Sql developer: question about exporting data

    Hi,
    we're recently working with sql-developer. i've got a question about how we can export query results to txt/csv files for use in other applications.
    First a problem: if we start a query that looks like this:
    select * from
    select * from A where start_date = &date
    ) a,
    select * from B where start_date = &date
    ) b
    where a.name = b.name
    Sql-developer asks twice to input a value for the variable 'date', although it's the same variable and it's supposed to have the same value.
    We solve this by making a script:
    first we define the variable, then we put the query.
    When we start the script, the query runs ok and sql developer asks to input the value for the variable once.
    But now the result of the query is shown in the script output. The script output seems to be limited in number of lines and difficult to export.
    So my question is: what's the best way to export query results to txt/csv files, avoiding the problem mentioned above?
    i hope there is a solution where we can use a single query or script.
    Thanks in advance!

    Using bind variables like ":date" should solve the problem of being asked twice for the same thing.
    Executing the query normally (F9), gives you the export options you require through the context menu inside the Results grid.
    Regards,
    K.

  • Questions about a MasterQuize program

    Hi, everyone.
    I got a in-class case study program like this in the class:
    * This class stores/represents a question that has one of two
    * answers: True or False.
    * <p></p>
    * It needs to track the following information:
    * <ul>
    * <li>Question text</li>
    * <li>Correct answer</li>
    * <li>The user's answer to the question</li>
    * <li>Points value</li>
    * <li>Category</li>
    * <li>Difficulty rating</li>
    * </ul>
    // Our question should allow us to do the following:
    // - Create question (constructor) -- may be overloaded
    // - Print (display) question
    // - Check client's answer for correctness
    // - Get points value for question (0 or max)
    //   - Add "No-BS" grading option
    // - Getting client's answer
    // - Check to see if answered by client
    public class TrueFalseQuestion
        // Class constants (to simplify changes to common values)
        public static final int MIN_DIFFICULTY_LEVEL = 1;
        public static final int MAX_DIFFICULTY_LEVEL = 5;
        public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
        public static final int DEFAULT_POINT_VALUE = 1;
        public static final String DEFAULT_CATEGORY_VALUE = "none";
        // Class instance variables
        private String questionText;
        private String correctAnswer;
        private String userAnswer;
        private int pointsValue;
        private String category;
        private int difficultyLevel; // TODO: Set a range for difficulty levels
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion object.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
            // Set starting values for all instance variables
            questionText = text.trim();
            correctAnswer = answer.trim();
            userAnswer = null; // No user answer supplied yet
            if (pts >= 1) // We assume that every problem is worth at least 1 point
                pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL) // within range
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Simplified (overloaded) constructors
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * <p></p>
         * Defines a TrueFalseQuestion with default values for category and difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts)
            // Call pre-existing constructor with default category and difficulty
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value, default category,
         * and default difficulty level.
        public TrueFalseQuestion (String text, String answer)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, DEFAULT_CATEGORY_VALUE,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default difficulty level.
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            // Call pre-existing constructor with default points, category and difficulty
            this(text, answer, pts, ctgry,
                 DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param ctgry Category keyword for this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default point value and the default
         * difficulty level.
        public TrueFalseQuestion (String text, String answer, String ctgry)
            // Use default points and difficulty
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
         * @param text The literal wording of this question
         * @param answer The correct answer for this question
         * @param pts The total points available for this question
         * @param level The perceived/intended difficulty level of this question
         * <p></p>
         * Defines a TrueFalseQuestion with the default value for the question category.
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            // Use default category
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Clients can invoke this method to retrieve the text of the current question.
        // We chose to return the text instead of printing it; this allows the client
        // to decide how it should be presented (via a GUI, over a network, etc.)
        public String getQuestion ()
            return questionText;
        // This method allows the client to store the user's answer inside the
        // TrueFalseQuestion object for easy comparison
        public void submitAnswer (String ans)
            userAnswer = ans;
        // This method reports whether the submitted answer matches the correct answer
        public boolean answerIsCorrect(String userAns) // This version does all the work
            if (userAns == null) // No response from user (yet)
                return false;
            else
                // Normalize and compare answers
                char key = normalize(correctAnswer); // Get 't' or 'f'
                char ans = normalize(userAns); // Get 't' or 'f'
                return (key == ans);
        public boolean answerIsCorrect ()
            return answerIsCorrect(userAnswer); // Call previously-defined version
        public int getPointsValue()
            return pointsValue;
        // Return the points awarded for the user's answer. This method does
        // NOT support partial credit; answers are either correct or incorrect.
        // If the "No-BS" option is selected, blank (unanswered) questions receive
        // 1 point automatically; otherwise, the score will be either 0 or the
        // question's normal points value.
        public int getPointsEarned(boolean useNoBSRule)
    System.out.println("useNoBS: " + useNoBSRule + "\tuserAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (useNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0; // Without "No-BS", treat blank problems as incorrect
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        // This method returns true if the user has submitted an answer
        // for this question (regardless of whether that answer is correct)
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        // Private helper method to convert all answers to single lowercase
        // letters (in this case, 't' for TRUE and 'f' for FALSE)
        private char normalize (String input)
             if (input != null)
                  input = input.trim(); // Remove leading whitespace
                  input = input.toLowerCase();
                  return input.charAt(0);
             else
                  return ' ';
    import java.util.*;
    * This class represents a complete test or quiz.
    * Data stored:
    * - List of questions
    * - Total score earned
    * - Total score possible
    * - Name/title of test
    * - Instructions
    *  - Category/class assignment
    *  - Student (test-taker) name
    *  - Date test is/was taken
    *  - Time started
    *  - Time completed
    *  - Maximum time allotted
    *  - (List of) Maximum attempts per question
    *  - List of attempts per question
    *  - List of difficulty ratings per question
    *  - Assignment weight
    * Methods:
    * - Constructor
    * - Add question
    * - Display question
    * - Display test
    * - Display instructions
    *      - Generate random exam
    * - Take/administer test
    * - Get score
    * STUFF TO DO:
    * - Add time/date restrictions
    * - Add network access restrictions
    * - Add other restrictions/allowances?
    * @author (your name)
    * @version (a version number or a date)
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<TrueFalseQuestion> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<TrueFalseQuestion>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (TrueFalseQuestion q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                TrueFalseQuestion t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  TrueFalseQuestion t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  TrueFalseQuestion t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }// Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
              TrueFalseQuestion x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
    }This program is far from finishing.
    I have many questions about this program, but let me ask this one first:
    In the TrueFalseQeustion class, why are there so many constructors? What is the purpose of setting some of the variables to default values?
    Thank you very much!!!
    Edited by: Terry001 on Apr 16, 2008 10:02 AM

    newark wrote:
    Stop ignoring the error messages. You seem to think that an error message means you're doing the assignment wrong. It's probably a simple fix. Post the exact error messages, as well as the code that corresponds to them. The error message will tell you exactly what line the problem occurs on, so you know right where to look.Hi,
    After some modifications, the program now gives me the result the assignment wants when I run it. But I still have trouble with the MultipleChoiceQuestion class
    Here is the complete program
    QuizDriver class
    // Test harness for the Test and *Question classes
    import java.util.*;
    public class QuizDriver
         public static void main(String[] args)
              // Create a new Test object
              Test exam = new Test("Sample Exam", "Select the correct answer for each question");
              setUp(exam);
              Scanner sc = new Scanner(System.in);
              System.out.println(exam.getInstructions());
              // Administer exam
              for (int i = 0; i < exam.length(); i++)
                   // Print out current question
                   System.out.println(exam.displayQuestion(i));
                   // Get user answer
                   System.out.print("Your answer: ");
                   String ans = sc.nextLine();
                   if (ans.equals("")) // Handle blank responses for unanswered questions
                        ans = null;
                   exam.answer(i, ans);
              // Get exam results
              exam.scoreExam(true);
              System.out.println("Your final score was " + exam.getScore() + " points.");
         private static void setUp (Test t)
                                   Question x;
              x = new TrueFalseQuestion("The sky is blue.", "true", 2);
              t.addQuestion(x);
              x = new TrueFalseQuestion("The first FORTRAN compiler debuted in 1957", "true", 5);
              t.addQuestion(x);
              x = new TrueFalseQuestion("Spock was a Vulcan", "false", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
              t.addQuestion(x);
              x = new MultipleChoiceQuestion("What is the name of this class\na.CSE110\nb.CSE114", "b, CSE114", 3);
              t.addQuestion(x);
    }Test
    public class Test
        // Class constant
        public static final int MAX_NUMBER_OF_QUESTIONS = 10;
        // Class instance variables
        private String testName;
        private int scoreEarned; // What the student earned on the exam
        private int scorePossible; // Total point values of all questions
        private String instructions; // Exam header text
        private ArrayList<Question> questions; // Create inside constructor
        // Methods
        public Test (String name, String instr)
            testName = name;
            scoreEarned = 0;
            scorePossible = 0;
            instructions = instr;
            questions = new ArrayList<Question>(); //[MAX_NUMBER_OF_QUESTIONS];
        public String getInstructions()
            return instructions;
        public int getScore()
            return scoreEarned;
        public void addQuestion (Question q)
            scorePossible += q.getPointsValue();
            questions.add(q); // Automatically append question to end of test
        public String displayQuestion (int position)
            if (position < questions.size())
                return (position+1) + ". " + questions.get(position).getQuestion();
            else
                return null;
        public String displayTest ()
            String result = "";
            for (int i = 0; i < questions.size(); i++)
                result += (i+1) + ". (";
                Question t = questions.get(i);
                result += t.getPointsValue();
                result += " points)\n\n" + displayQuestion(i);
                result += "\n\n";
            return result;
        // Get test length (number of questions)
        public int length ()
             return questions.size();
        // Submit answer to a specific question
        public boolean answer(int number, String a)
             // Question numbers run from 0-(max-1) -- THIS WAS AN OFF-BY-ONE ERROR AT FIRST
             if (number >= 0 && number < questions.size())
                  Question t = questions.get(number);
                  t.submitAnswer(a);
                  return true; // Question was answered
             else
                  return false; // Unable to answer (nonexistent) question
        // Score exam
        public void scoreExam (boolean useNoBS)
             scoreEarned = 0;
             for (int i = 0; i < questions.size(); i++) // For each question in exam
                  Question t = questions.get(i); // get current question
                  scoreEarned += t.getPointsEarned(useNoBS);
    }Question
    public class Question
    // Class constants
      public static final int MIN_DIFFICULTY_LEVEL = 1;
      public static final int MAX_DIFFICULTY_LEVEL = 5;
      public static final int DEFAULT_DIFFICULTY_LEVEL = 1;
      public static final int DEFAULT_POINT_VALUE = 1;
      public static final String DEFAULT_CATEGORY_VALUE = "none";
      // Class instance variables
      protected String questionText;
      protected String correctAnswer;
      protected String userAnswer;
      protected int pointsValue;
      protected String category;
      protected int difficultyLevel; //TODO: set a range for difficulty levels
      // Constructors
      public Question (String text, String answer, int pts, String ctgry, int level)
          questionText = text.trim();
          correctAnswer = answer.trim();
          userAnswer = null;
          if (pts >= 1)
              pointsValue = pts;
            else
                pointsValue = DEFAULT_POINT_VALUE;
            category = ctgry.trim();
            if (level >= MIN_DIFFICULTY_LEVEL && level <= MAX_DIFFICULTY_LEVEL)
                difficultyLevel = level;
            else
                difficultyLevel = DEFAULT_DIFFICULTY_LEVEL;
        // Overloaded (simplied) constructors
        public Question (String text, String answer, int pts)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, String ctgry)
            this(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, String ctgry)
            this(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public Question (String text, String answer, int pts, int level)
            this(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String getQuestion ()
            return questionText;
        // Use this method to store user answers
        public void submitAnswer (String ans)
            userAnswer = ans;
        public boolean answerIsCorrect (String userAns)
            if (userAns == null)
                return false;
            else
                // Normalize and compare answers
                char key = normalize (correctAnswer); //Get the first letter of an answer
                char ans = normalize (userAns); //Get the first letter of an answer
                return (key == ans);
        public boolean answerIsCorrect ()// Why do we need two answerisCorrect() methods?
            return answerIsCorrect (userAnswer);
        public int getPointsValue ()
            return pointsValue;
        public int getPointsEarned (boolean userNoBSRule)
            System.out.println ("useNoBS: " + userNoBSRule + "\tuseAnswer: " + userAnswer + "\tcorrectAnswer: " + correctAnswer);
            if (userNoBSRule && (userAnswer == null))
                return 1;
            else if (userAnswer == null)
                return 0;
            if (answerIsCorrect() == false)
                return 0;
            else
                return pointsValue;
        public String getCorrectAnswer ()
            return correctAnswer;
        public boolean hasBeenAnswered ()
            return (userAnswer != null);
        private char normalize (String input)
            if (input != null)
                input = input.trim();
                input = input.toLowerCase();
                return input.charAt(0);
            else
                return ' ';
           TrueFalseQuestion
    public class TrueFalseQuestion extends Question
      public TrueFalseQuestion (String text, String answer, int pts, String ctgry, int level)
          super(text, answer, pts, ctgry, level);
        public TrueFalseQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public TrueFalseQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
    } MultipleChoiceQuestion
    public class MultipleChoiceQuestion extends Question
       public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry, int level)
           super(text, answer, pts, ctgry, level);
        public MultipleChoiceQuestion (String text, String answer, int pts)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, String ctgry)
            super(text, answer, pts, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, String ctgry)
            super(text, answer, DEFAULT_POINT_VALUE, ctgry, DEFAULT_DIFFICULTY_LEVEL);
        public MultipleChoiceQuestion (String text, String answer, int pts, int level)
            super(text, answer, pts, DEFAULT_CATEGORY_VALUE, level);
        // Methods
        String possibleAnswers;
        public String getPossibleAnswers ()
            return possibleAnswers;
        public void addAnswerChoice (String answerChoice)
            String ansChoice = answerChoice;
            questionText += "\nansChoice";
            possibleAnswers = answerChoice;
        public void printAnswerChoice ()
            System.out.println (questionText);
    } I don't understand why the assignment wants me to build a method in the MultpleChoiceQuestion class to store the potential answer choices, I can make the program display the potential answer choices by including them in the questionText as following in the QuizDriver class
    Question x;
    x = new MultipleChoiceQuestion("What is the color of the car\na.Red\nb.Green", "a. Red", 3);
    t.addQuestion(x); I don't know how to allow the client to construct the list of answer choices one at a time(add one potential answer choice by calling the addAsnwerChoices() method once)
    Here are a few original sentences of my assignment which describe what I should do with the MultipleChoiceQuestion class
    Using TrueFalseQuestion as a model, develop a new MultipleChoiceQuestion class that can be used to represent a problem where the user must select one of several answer choices (e.g., "Select answer (a), (b), (c), or (d)."). This new question type should have all of the same externally-visible functionality as TrueFalseQuestion, except that it must:
    maintain a list of potential answer choices
    provide a method that allows the client to construct the list of answer choices one at a time (i.e., the client should be able to call an addAnswerChoice() method to pass a new answer option to the MultipleChoiceQuestion.)
    display (as part of the question text) the list of answer choices with appropriate letters ("abcd" instead of "0123") I don't understand what these sentences mean.
    1. "Maintain a list of potential answer choices"-- this reminds me of the getPossibleAnswerChoice() method in the TrueFalseQuestion class
    public String[] getPossibleAnswerChoice ()
            String[] possibleAnswerChoice = {"true", "false"};
            return possibleAnswerChoice;
        }I wonder that if the potential answer choices I have to store in the MultipleChoiceQuestion class are only letters "a", "b", "c", "d", etc, or include the answer text coming after the letters(eg. a.Red, b.Green)
    2. "provide a method that allows the client to construct the list of answer choices one at a time". How do I achieve the functionality "one at a time"? Do I need to pass the input of the client (a potential answer choice) to the variable of the method which stores the list of potential answers?
    3. "display (as part of the question text) the list of answer choices with appropriate letters". My question here is that: When the client type in one possible answer, should I append it to the variable questionText? (So I use the questionText variable in the methods of the first and second steps)
    Thank you very much for your nice help!
    Edited by: Terry001 on Apr 21, 2008 8:01 AM

  • Question about servlet architecture

    Hello,
    I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
    I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
    There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.
    When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
    The pseudocode for addMsg is:
    void addMsg(String username, String msg) {
    if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
    if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
    msgHash[username].add(msg)
    And for getMsgs():
    String getMsgs(username) {
    String s = "";
    for each msg in msgHash[username] { s = s + msg; }
    return s;
    Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets.
    The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
    Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.
    In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.
    I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
    Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
    Thanks very much for any guidance!
    -Mike

    FrolfFla wrote:
    Hello,
    I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
    I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
    There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.You can configure a servlet to be invoked as soon as Tomcat starts. Check the tomcat documentation for more information on that (the web.xml contains such servlets already though). From this servlet you can start your Manager.
    >
    When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
    The pseudocode for addMsg is:
    void addMsg(String username, String msg) {
    if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
    if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
    msgHash[username].add(msg)
    And for getMsgs():
    String getMsgs(username) {
    String s = "";
    for each msg in msgHash[username] { s = s + msg; }
    return s;
    Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets. Not needed. You can simply create your two servlets and have them invoked through web calls, Tomcat is the only one that can manage servlets in any case. Servlets have a very short lifecycle - they stay in memory from the first time they are invoked, but the only time that they actually do something is when they are called through the webserver, generally as the result of somebody running the servlet through a webbrowser, either by navigating to it or by posting data to it from another webpage. The servlet call ends as soon as the request is completed.
    >
    The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
    Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.This states already that you are going to run the servlets through a browser. You run "Sender" by navigating to it in the browser. You run "Receiver" when you post your data to it. Manager has nothing to do with that.
    >
    In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.Since you want to periodically run the SystemResourceMonitor, it is better to use a Timer for that in stead of your own thread.
    >
    I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
    Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
    Thanks very much for any guidance!
    -MikeI don't see anything that cannot be done in a normal java web environment, as long as you are aware of how servlets operate.

Maybe you are looking for

  • I have just recently bought a 13" mac book pro and my dearest wife would like an ipad2 would excel be compatible across the iPad 2 and the MBP?

    Hello people, Need a little help here, I recently purchased my first ever MacBook Pro and my dearest wife is looking at using an iPad 2 to do some excel spreadsheets for her new cake enterprise. The question i have is can excel for Mac be transferred

  • Best camera for shooting auditions

    I'm looking for a camera (tapeless) that will shoot a native QuickTime format to avoid transcoding. In other words I want to stay away from AVCHD because of how long it takes to transcode into iMovie 09. Every camera I see is AVCHD. Since I'm only sh

  • Memory dumb error

    Hi everyone, One of the developers here run an sql which works in all other databases except for one database. All the databases are residing in different machines. All are the same version: 10.2.0.4.0 I checked the alert log: Errors in file d:\....

  • Newsletters se codifica en base64 las imagenes.

    Estoy haciendo newsletters con Mail Marge donde mi código html inline contiene direcciones absolutas a imágenes. Pues bien cuando recibo el mail las imágenes están embebidas en base64 y algunos correos no ven correctamente esas imágenes. Como puedo h

  • Error message when installing demo aplication

    I'm trying to install the standard demo of isadora but keep getting this message: unable to create folder "/application/isadora/" any ideas. I have contacted the support team at isadora but they have not replied yet was wondering if it's anything to