You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@commons.apache.org by hu...@apache.org on 2004/03/25 13:42:04 UTC

cvs commit: jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example Constants.java DatabaseMissingException.java ExpiredPasswordException.java Subscription.java User.java UserDatabase.java

husted      2004/03/25 04:42:04

  Added:       chain/apps/mailreader/src/java/org/apache/struts/webapp/example
                        Constants.java DatabaseMissingException.java
                        ExpiredPasswordException.java Subscription.java
                        User.java UserDatabase.java
  Log:
  Initial import of MailReader Example application for Commons Chain
  
  Revision  Changes    Path
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/Constants.java
  
  Index: Constants.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/Constants.java,v 1.1 2004/03/25 12:42:03 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:03 $
   *
   * Copyright 1999-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.struts.webapp.example;
  
  
  /**
   * Manifest constants for the example application.
   *
   * @version $Revision: 1.1 $ $Date: 2004/03/25 12:42:03 $
   */
  
  public final class Constants {
  
  
      /**
       * The package name for this application.
       */
      public static final String PACKAGE = "org.apache.struts.webapp.example";
  
  
      /**
       * The application scope attribute under which our user database
       * is stored.
       */
      public static final String DATABASE_KEY = "database";
  
  
      /**
       * The session scope attribute under which the Subscription object
       * currently selected by our logged-in User is stored.
       */
      public static final String SUBSCRIPTION_KEY = "subscription";
  
  
      /**
       * The session scope attribute under which the User object
       * for the currently logged in user is stored.
       */
      public static final String USER_KEY = "user";
  
  
      /**
       * A static message in case database resource is not loaded.
       */
      public static final String ERROR_DATABASE_NOT_LOADED =
              "ERROR:  User database not loaded -- check servlet container logs for error messages.";
  
  
      /**
       * A static message in case message resource is not loaded.
       */
      public static final String ERROR_MESSAGES_NOT_LOADED =
              "ERROR:  Message resources not loaded -- check servlet container logs for error messages.";
  
  }
  
  
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/DatabaseMissingException.java
  
  Index: DatabaseMissingException.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/DatabaseMissingException.java,v 1.1 2004/03/25 12:42:03 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:03 $
   *
   * Copyright 1999-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.struts.webapp.example;
  
  import org.apache.struts.util.ModuleException;
  
  /**
   * <p>Indicates that reference to database dissappeared.</p>
   */
  public class DatabaseMissingException extends ModuleException {
  
  
      /**
       * <p>Construct a new instance of this exception.</p>
       */
      public DatabaseMissingException() {
          super("error.database.missing");
      }
  
  }
  
  
  
  
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/ExpiredPasswordException.java
  
  Index: ExpiredPasswordException.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/ExpiredPasswordException.java,v 1.1 2004/03/25 12:42:03 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:03 $
   *
   * Copyright 1999-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  
  package org.apache.struts.webapp.example;
  
  import org.apache.struts.util.ModuleException;
  
  /**
   * Example of an application-specific exception for which a handler
   * can be configured.
   */
  
  
  public class ExpiredPasswordException extends ModuleException {
  
  
      /**
       * Construct a new instance of this exception for the specified username.
       *
       * @param username Username whose password has expired
       */
      public ExpiredPasswordException(String username) {
          super("error.password.expired", username);
      }
  
  
  }
  
  
  
  
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/Subscription.java
  
  Index: Subscription.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/Subscription.java,v 1.1 2004/03/25 12:42:04 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:04 $
   *
   * Copyright 1999-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  
  package org.apache.struts.webapp.example;
  
  
  /**
   * <p>A <strong>Subscription</strong> which is stored, along with the
   * associated {@link User}, in a {@link UserDatabase}.</p>
   *
   * @version $Revision: 1.1 $ $Date: 2004/03/25 12:42:04 $
   */
  
  public interface Subscription {
  
  
      // ------------------------------------------------------------- Properties
  
  
      /**
       * Return the auto-connect flag.
       */
      public boolean getAutoConnect();
  
  
      /**
       * Set the auto-connect flag.
       *
       * @param autoConnect The new auto-connect flag
       */
      public void setAutoConnect(boolean autoConnect);
  
  
      /**
       * Return the host name.
       */
      public String getHost();
  
  
      /**
       * Return the password.
       */
      public String getPassword();
  
  
      /**
       * Set the password.
       *
       * @param password The new password
       */
      public void setPassword(String password);
  
  
      /**
       * Return the subscription type.
       */
      public String getType();
  
  
      /**
       * Set the subscription type.
       *
       * @param type The new subscription type
       */
      public void setType(String type);
  
  
      /**
       * Return the {@link User} owning this Subscription.
       */
      public User getUser();
  
  
      /**
       * Return the username.
       */
      public String getUsername();
  
  
      /**
       * Set the username.
       *
       * @param username The new username
       */
      public void setUsername(String username);
  
  
  }
  
  
  
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/User.java
  
  Index: User.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/User.java,v 1.1 2004/03/25 12:42:04 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:04 $
   *
   * Copyright 1999-2004 The Apache Software Foundation.
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *      http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  
  
  package org.apache.struts.webapp.example;
  
  
  /**
   * <p>A <strong>User</strong> which is stored, along with his or her
   * associated {@link Subscription}s, in a {@link UserDatabase}.</p>
   *
   * @version $Revision: 1.1 $ $Date: 2004/03/25 12:42:04 $
   * @since Struts 1.1
   */
  
  public interface User {
  
  
      // ------------------------------------------------------------- Properties
  
  
      /**
       * Return the {@link UserDatabase} with which we are associated.
       */
      public UserDatabase getDatabase();
  
  
      /**
       * Return the from address.
       */
      public String getFromAddress();
  
  
      /**
       * Set the from address.
       *
       * @param fromAddress The new from address
       */
      public void setFromAddress(String fromAddress);
  
  
      /**
       * Return the full name.
       */
      public String getFullName();
  
  
      /**
       * Set the full name.
       *
       * @param fullName The new full name
       */
      public void setFullName(String fullName);
  
  
      /**
       * Return the password.
       */
      public String getPassword();
  
  
      /**
       * Set the password.
       *
       * @param password The new password
       */
      public void setPassword(String password);
  
  
      /**
       * Return the reply-to address.
       */
      public String getReplyToAddress();
  
  
      /**
       * Set the reply-to address.
       *
       * @param replyToAddress The new reply-to address
       */
      public void setReplyToAddress(String replyToAddress);
  
  
      /**
       * Find and return all {@link Subscription}s associated with this user.
       * If there are none, a zero-length array is returned.
       */
      public Subscription[] getSubscriptions();
  
  
      /**
       * Return the username.
       */
      public String getUsername();
  
  
      // --------------------------------------------------------- Public Methods
  
  
      /**
       * Create and return a new {@link Subscription} associated with this
       * User, for the specified host name.
       *
       * @param host Host name for which to create a subscription
       *
       * @exception IllegalArgumentException if the host name is not unique
       *  for this user
       */
      public Subscription createSubscription(String host);
  
  
      /**
       * Find and return the {@link Subscription} associated with the specified
       * host.  If none is found, return <code>null</code>.
       *
       * @param host Host name to look up
       */
      public Subscription findSubscription(String host);
  
  
      /**
       * Remove the specified {@link Subscription} from being associated
       * with this User.
       *
       * @param subscription Subscription to be removed
       *
       * @exception IllegalArgumentException if the specified subscription is not
       *  associated with this User
       */
      public void removeSubscription(Subscription subscription);
  
  
  }
  
  
  
  1.1                  jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/UserDatabase.java
  
  Index: UserDatabase.java
  ===================================================================
  /*
   * $Header: /home/cvs/jakarta-commons-sandbox/chain/apps/mailreader/src/java/org/apache/struts/webapp/example/UserDatabase.java,v 1.1 2004/03/25 12:42:04 husted Exp $
   * $Revision: 1.1 $
   * $Date: 2004/03/25 12:42:04 $
   *
   * Copyright 2000-2004 Apache Software Foundation
   *
   * Licensed under the Apache License, Version 2.0 (the "License");
   * you may not use this file except in compliance with the License.
   * You may obtain a copy of the License at
   *
   *     http://www.apache.org/licenses/LICENSE-2.0
   *
   * Unless required by applicable law or agreed to in writing, software
   * distributed under the License is distributed on an "AS IS" BASIS,
   * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   * See the License for the specific language governing permissions and
   * limitations under the License.
   */
  package org.apache.struts.webapp.example;
  
  
  /**
   * <p>A <strong>Data Access Object</strong> (DAO) interface describing
   * the available operations for retrieving and storing {@link User}s
   * (and their associated {@link Subscription}s) in some persistence layer
   * whose characteristics are not specified here.  One or more implementations
   * will be created to perform the actual I/O that is required.</p>
   *
   * @version $Revision: 1.1 $ $Date: 2004/03/25 12:42:04 $
   * @since Struts 1.1
   */
  public interface UserDatabase {
  
  
      // --------------------------------------------------------- Public Methods
  
  
      /**
       * <p>Create and return a new {@link User} defined in this user database.
       * </p>
       *
       * @param username Username of the new user
       *
       * @exception IllegalArgumentException if the specified username
       *  is not unique
       */
      public User createUser(String username);
  
  
      /**
       * <p>Finalize access to the underlying persistence layer.</p>
       *
       * @exception Exception if a database access error occurs
       */
      public void close() throws Exception;
  
  
      /**
       * <p>Return the existing {@link User} with the specified username,
       * if any; otherwise return <code>null</code>.</p>
       *
       * @param username Username of the user to retrieve
       * @throws ExpiredPasswordException if user password has expired
       * and must be changed
       */
      public User findUser(String username) throws ExpiredPasswordException;
  
  
      /**
       * <p>Return the set of {@link User}s defined in this user database.</p>
       */
      public User[] findUsers();
  
  
      /**
       * <p>Initiate access to the underlying persistence layer.</p>
       *
       * @exception Exception if a database access error occurs
       */
      public void open() throws Exception;
  
  
      /**
       * Remove the specified {@link User} from this database.
       *
       * @param user User to be removed
       *
       * @exception IllegalArgumentException if the specified user is not
       *  associated with this database
       */
      public void removeUser(User user);
  
  
      /**
       * <p>Save any pending changes to the underlying persistence layer.</p>
       *
       * @exception Exception if a database access error occurs
       */
      public void save() throws Exception;
  
  
  }
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: commons-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: commons-dev-help@jakarta.apache.org