head	1.9;
access;
symbols
	TIGRIS_0_9_2_4:1.6
	TIGRIS_0_9_2_3:1.6
	HELM_PEER_PORT_BRANCH:1.8.0.2
	TURBINE_PEER:1.8
	TIGRIS_0_9_2_1:1.8
	TIGRIS_0_9_2:1.6.0.4
	TIGRIS_0_9_0:1.6.0.2
	TIGRIS_0_8_4:1.5.0.2
	NEWHELM:1.1.1.1
	TIGRIS_NOV_12_2000:1.1.1;
locks; strict;
comment	@# @;


1.9
date	2001.02.21.03.23.57;	author edk;	state dead;
branches;
next	1.8;

1.8
date	2001.01.26.18.29.05;	author edk;	state Exp;
branches
	1.8.2.1;
next	1.7;

1.7
date	2001.01.26.05.24.06;	author edk;	state dead;
branches;
next	1.6;

1.6
date	2000.12.14.00.30.55;	author dlr;	state Exp;
branches;
next	1.5;

1.5
date	2000.11.29.21.10.26;	author edk;	state Exp;
branches;
next	1.4;

1.4
date	2000.11.17.05.45.54;	author edk;	state Exp;
branches;
next	1.3;

1.3
date	2000.11.15.15.00.04;	author edk;	state Exp;
branches;
next	1.2;

1.2
date	2000.11.15.11.24.41;	author edk;	state Exp;
branches;
next	1.1;

1.1
date	2000.11.12.21.16.18;	author dlr;	state Exp;
branches
	1.1.1.1;
next	;

1.1.1.1
date	2000.11.12.21.16.18;	author dlr;	state Exp;
branches;
next	;

1.8.2.1
date	2001.01.28.01.02.18;	author dlr;	state dead;
branches;
next	;


desc
@@


1.9
log
@delete stuff from the head which is obsolete in the branch (more changes
are still needed for a clean compile)
@
text
@/* ================================================================
 * Copyright (c) 2000 CollabNet.  All rights reserved.
 * 
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions are
 * met:
 * 
 * 1. Redistributions of source code must retain the above copyright
 * notice, this list of conditions and the following disclaimer.
 * 
 * 2. Redistributions in binary form must reproduce the above copyright
 * notice, this list of conditions and the following disclaimer in the
 * documentation and/or other materials provided with the distribution.
 * 
 * 3. The end-user documentation included with the redistribution, if
 * any, must include the following acknowlegement: "This product includes
 * software developed by CollabNet (http://www.Collab.Net/)."
 * Alternately, this acknowlegement may appear in the software itself, if
 * and wherever such third-party acknowlegements normally appear.
 * 
 * 4. The hosted project names must not be used to endorse or promote
 * products derived from this software without prior written
 * permission. For written permission, please contact info@@collab.net.
 * 
 * 5. Products derived from this software may not use the "Tigris" name
 * nor may "Tigris" appear in their names without prior written
 * permission of CollabNet.
 * 
 * THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED
 * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
 * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
 * IN NO EVENT SHALL COLLAB.NET OR ITS CONTRIBUTORS BE LIABLE FOR ANY
 * DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
 * GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER
 * IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 *
 * ====================================================================
 * 
 * This software consists of voluntary contributions made by many
 * individuals on behalf of CollabNet.
 */

package org.tigris.helm.project;

import java.sql.*;

import com.workingdogs.village.DataSetException;

import org.joist.database.DataManager;
import org.joist.database.JoistDatabaseException;
import org.webmacro.servlet.HandlerException;

import org.tigris.helm.DoesNotExist;
import org.tigris.helm.tool.UpdateException;

import org.tigris.helm.domain.User;

/**
 * Defines the interface for all <code>ProjectProfile</code>.  Implementations 
 * are used to describe the various project types that exist in Tigris (i.e. 
 * standard development, category, standard discussion, clone of existing).  
 *
 * All implementations are encouraged to inherit from 
 * <code>BaseProjectProfile</code>.  Implementations are managed by 
 * <code>ProjectProfiles<code>, which assures that only one instance ever need 
 * exist, and is what makes implementations available to the application 
 * business logic.  Additional implementations require modification of 
 * <code>ProjectProfiles<code> (to make that class aware of their existance).
 *
 * @@author <a href="mailto:dlr@@collab.net">Daniel Rall</a>
 * @@author <a href="mailto:leonardr@@collab.net">Leonard Richardson</a>
 * @@version $Id: ProjectProfile.java,v 1.8 2001/01/26 18:29:05 edk Exp $
 */
public interface ProjectProfile
{
    /**
     * Gets the key of the <code>ProjectProfile</code> implementation.  
     * This is the name used to identify the <code>ProjectProfile</code> in 
     * servlet and template code.
     *
     * @@return The key.
     */
    public String getKey ();

    /**
     * Gets the name of the <code>ProjectProfile</code>.
     *
     * @@return The name.
     */
    public String getName ();

    /**
     * Gets the project type of the <code>ProjectProfile</code> (eg. base,
     * category).
     *
     * @@return The type.
     */
    public String getType ();

    /**
     * Gets the description of the <code>ProjectProfile</code>.
     *
     * @@return The description.
     */
    public String getDescription ();

    /**
     * Gets the mailing lists that projects of the <code>ProjectProfile</code> 
     * begins life with.
     *
     * @@return Default mailing lists.
     */
    public Object getDefaultMailingLists (Connection conn, DataManager dMgr,
                                          String projectID,
                                          boolean isProprietary)
        throws HandlerException, DoesNotExist;

    /**
     * Indicates whether content checked into the project <code>www</code> CVS
     * module should be auto-published to the web.
     *
     * @@return Whether to auto-publish.
     */
    public boolean isAutoPublishedToWeb ();

    /**
     * Indicates whether the <code>ProjectProfile</code> represents
     * a composite project.
     *
     * @@return Whether a composite project.
     */
    public boolean isComposite ();

    /**
     * Takes whatever steps are neccessary to realize the project's default
     * mailing lists.
     */
    public void addDefaultMailingLists(Connection conn, DataManager dMgr,
                                       String projectID, User user,
                                       boolean isProprietary) 
        throws HandlerException, DoesNotExist;
}
@


1.8
log
@readding all the files as part of the process of returning to the way
things were as of tuesday
@
text
@d76 1
a76 1
 * @@version $Id: ProjectProfile.java,v 1.6 2000/12/14 00:30:55 dlr Exp $
@


1.8.2.1
log
@Porting to the Turbine Peer system.  -dlr and leonardr
@
text
@d76 1
a76 1
 * @@version $Id: ProjectProfile.java,v 1.8 2001/01/26 18:29:05 edk Exp $
@


1.7
log
@revert this stuff to its state as of 2001/01/24 12:42:00 GMT -- with
the following exceptions, which have some different modifications so
they'll work with changes which have happened in joist:

ProjectNewsEdit.java
SkinManager.java
SkinStyleElementValueManager.java
StyleElementManager.java
StyleManager.java

it compiles.  i dunno if it works, though.
@
text
@@


1.6
log
@Death to project modules!
@
text
@d76 1
a76 1
 * @@version $Id: ProjectProfile.java,v 1.5 2000/11/29 21:10:26 edk Exp $
@


1.5
log
@handle setting the type correctly when creating mailing lists.  this
involves changing the throws slightly ... hence the changes in
project/*Profile and project/Project  ... try to avoid unnecessary
additional exceptions when possible.
@
text
@d76 1
a76 1
 * @@version $Id: ProjectProfile.java,v 1.4 2000/11/17 05:45:54 edk Exp $
d123 2
a124 2
     * Gets the modules that projects of the <code>ProjectProfile</code> 
     * begins life with.
d126 1
a126 1
     * @@return Default modules.
d128 1
a128 4
    public Object getDefaultModules (Connection conn, DataManager dMgr, 
                                     String projectID)
        throws UpdateException, DataSetException, JoistDatabaseException, 
               SQLException, DoesNotExist;
a145 10

    /**
     * Takes whatever steps are neccessary to realize the project's default
     * modules.
     */
    public void addDefaultModules (Connection conn, DataManager dMgr,
                                   String domainName, String projectName,
                                   String projectID, String brandName)
        throws UpdateException, DataSetException, JoistDatabaseException,
               SQLException, DoesNotExist;
@


1.4
log
@set the owner for all the mailing lists created to the owner of this
project.  we might need to worry about this if there's any again
if there's any way to change the owner of a project via the sourcecast
ui
@
text
@d55 1
d76 1
a76 1
 * @@version $Id: ProjectProfile.java,v 1.3 2000/11/15 15:00:04 edk Exp $
d120 1
a120 1
        throws DataSetException, DoesNotExist;
d148 1
a148 1
        throws SQLException, DataSetException, DoesNotExist;
@


1.3
log
@set the list type to a "private" version when the license is set to a
proprietary license; set it to a non-private version when the license is
set to an open source version.
@
text
@d59 2
d75 1
a75 1
 * @@version $Id: ProjectProfile.java,v 1.2 2000/11/15 11:24:41 edk Exp $
d145 2
a146 1
                                       String projectID, boolean isProprietary) 
@


1.2
log
@avoid excessive object creation: there's no point in constructing Integers
if all we're going to do is construct Strings from them via toString().
@
text
@d73 1
a73 1
 * @@version $Id: ProjectProfile.java,v 1.1.1.1 2000/11/12 21:16:18 dlr Exp $
d115 2
a116 1
                                          String projectID)
d143 1
a143 1
                                       String projectID) 
@


1.1
log
@Initial revision
@
text
@d73 1
a73 1
 * @@version $Id: ProjectProfile.java,v 1.13 2000/11/10 01:50:37 dlr Exp $
d115 1
a115 1
                                          Integer projectID)
d125 1
a125 1
                                     Integer projectID)
d142 1
a142 1
                                       Integer projectID) 
d151 1
a151 1
                                   Integer projectID, String brandName)
@


1.1.1.1
log
@Merging newhelm tree into helm, as per IZ issue #557.  Previous major version of helm is tagged TIGRIS_NOV_11_2000.
@
text
@@
