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 java.util.Hashtable;
020    
021    import javax.servlet.http.HttpServletRequest;
022    
023    public class TableBean {
024    
025        Hashtable table;
026        JspCalendar JspCal;
027        Entries entries;
028        String date;
029        String name = null;
030        String email = null;
031        boolean processError = false;
032    
033        public TableBean() {
034            this.table = new Hashtable(10);
035            this.JspCal = new JspCalendar();
036            this.date = JspCal.getCurrentDate();
037        }
038    
039        public void setName(String nm) {
040            this.name = nm;
041        }
042    
043        public String getName() {
044            return this.name;
045        }
046    
047        public void setEmail(String mail) {
048            this.email = mail;
049        }
050    
051        public String getEmail() {
052            return this.email;
053        }
054    
055        public String getDate() {
056            return this.date;
057        }
058    
059        public Entries getEntries() {
060            return this.entries;
061        }
062    
063        public void processRequest(HttpServletRequest request) {
064    
065            // Get the name and e-mail.
066            this.processError = false;
067            if (name == null || name.equals("")) setName(request.getParameter("name"));
068            if (email == null || email.equals("")) setEmail(request.getParameter("email"));
069            if (name == null || email == null ||
070                    name.equals("") || email.equals("")) {
071                this.processError = true;
072                return;
073            }
074    
075            // Get the date.
076            String dateR = request.getParameter("date");
077            if (dateR == null) date = JspCal.getCurrentDate();
078            else if (dateR.equalsIgnoreCase("next")) date = JspCal.getNextDate();
079            else if (dateR.equalsIgnoreCase("prev")) date = JspCal.getPrevDate();
080    
081            entries = (Entries) table.get(date);
082            if (entries == null) {
083                entries = new Entries();
084                table.put(date, entries);
085            }
086    
087            // If time is provided add the event.
088            String time = request.getParameter("time");
089            if (time != null) entries.processRequest(request, time);
090        }
091    
092        public boolean getProcessError() {
093            return this.processError;
094        }
095    }
096    
097    
098    
099    
100    
101