001    /*
002    * Licensed to the Apache Software Foundation (ASF) under one or more
003    * contributor license agreements.  See the NOTICE file distributed with
004    * this work for additional information regarding copyright ownership.
005    * The ASF licenses this file to You under the Apache License, Version 2.0
006    * (the "License"); you may not use this file except in compliance with
007    * the License.  You may obtain a copy of the License at
008    *
009    *     http://www.apache.org/licenses/LICENSE-2.0
010    *
011    * Unless required by applicable law or agreed to in writing, software
012    * distributed under the License is distributed on an "AS IS" BASIS,
013    * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
014    * See the License for the specific language governing permissions and
015    * limitations under the License.
016    */
017    package cal;
018    
019    import javax.servlet.http.*;
020    import java.util.Hashtable;
021    
022    public class TableBean {
023    
024      Hashtable table;
025      JspCalendar JspCal;
026      Entries entries;
027      String date;
028      String name = null;
029      String email = null;
030      boolean processError = false;
031    
032      public TableBean () {
033        this.table = new Hashtable (10);
034        this.JspCal = new JspCalendar ();
035        this.date = JspCal.getCurrentDate ();
036      }
037    
038      public void setName (String nm) {
039        this.name = nm;
040      }
041    
042      public String getName () {
043        return this.name;
044      }
045      
046      public void setEmail (String mail) {
047        this.email = mail;
048      }
049    
050      public String getEmail () {
051        return this.email;
052      }
053    
054      public String getDate () {
055        return this.date;
056      }
057    
058      public Entries getEntries () {
059        return this.entries;
060      }
061    
062      public void processRequest (HttpServletRequest request) {
063    
064        // Get the name and e-mail.
065        this.processError = false;
066        if (name == null || name.equals("")) setName(request.getParameter ("name"));  
067        if (email == null || email.equals("")) setEmail(request.getParameter ("email"));
068        if (name == null || email == null ||
069                    name.equals("") || email.equals("")) {
070          this.processError = true;
071          return;
072        }
073    
074        // Get the date.
075        String dateR = request.getParameter ("date");
076        if (dateR == null) date = JspCal.getCurrentDate ();
077        else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate ();
078        else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate ();
079    
080        entries = (Entries) table.get (date);
081        if (entries == null) {
082          entries = new Entries ();
083          table.put (date, entries);
084        }
085    
086        // If time is provided add the event.
087            String time = request.getParameter("time");
088        if (time != null) entries.processRequest (request, time);
089      }
090    
091      public boolean getProcessError () {
092        return this.processError;
093      }
094    }
095    
096    
097    
098    
099    
100