head	1.13;
access;
symbols
	TIGRIS_0_9_2_4:1.10
	TIGRIS_0_9_2_3:1.10
	HELM_PEER_PORT_BRANCH:1.12.0.2
	TURBINE_PEER:1.12
	TIGRIS_0_9_2_1:1.12
	TIGRIS_0_9_2:1.10.0.4
	TIGRIS_0_9_0:1.10.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.13
date	2001.02.21.03.39.04;	author edk;	state dead;
branches;
next	1.12;

1.12
date	2001.01.26.18.29.04;	author edk;	state Exp;
branches
	1.12.2.1;
next	1.11;

1.11
date	2001.01.26.05.24.06;	author edk;	state dead;
branches;
next	1.10;

1.10
date	2000.12.14.16.42.31;	author edk;	state Exp;
branches;
next	1.9;

1.9
date	2000.12.14.00.32.58;	author dlr;	state Exp;
branches;
next	1.8;

1.8
date	2000.12.14.00.30.55;	author dlr;	state Exp;
branches;
next	1.7;

1.7
date	2000.12.12.23.30.00;	author edk;	state Exp;
branches;
next	1.6;

1.6
date	2000.12.09.06.38.17;	author edk;	state Exp;
branches;
next	1.5;

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

1.4
date	2000.11.29.21.10.26;	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.40;	author edk;	state Exp;
branches;
next	1.1;

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

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

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


desc
@@


1.13
log
@these have been moved to om/profile
@
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 Collab.Net (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.tool.mail.MailingList;

/**
 * One initial mailing list plus web content.
 *
 * @@author <a href="mailto:dlr@@collab.net">Daniel Rall</a>
 * @@version $Id: DiscussionProfile.java,v 1.12 2001/01/26 18:29:04 edk Exp $
 */
public class DiscussionProfile extends BaseProfile
{
    /**
     * 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 ()
    {
        return "discussion";
    }

    /**
     * Gets the type of the projects represented by the 
     * <code>ProjectProfile</code> implementation.  
     *
     * @@return The type.
     */
    public String getType ()
    {
        return "base";
    }

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

    /**
     * Gets the description of the <code>ProjectProfile</code>.
     *
     * @@return The description.
     */
    public String getDescription ()
    {
        return "One initial mailing list plus web content.";
    }

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

        String lists[][] = {
            { "discuss", "discuss" + typeSuffix,
                "A mailing list for discussions" },
            { "cvs", "unmoderated" + typeSuffix,
                "A mailing list for cvs commit messages" },
            { "announce", "moderated" + typeSuffix,
                "A moderated mailing list for announce messages" },
            { "issues", "unmoderated" + typeSuffix,
                "A mailing list for issuezilla messages" }
        };
        return lists;
    }
}
@


1.12
log
@readding all the files as part of the process of returning to the way
things were as of tuesday
@
text
@d66 1
a66 1
 * @@version $Id: DiscussionProfile.java,v 1.10 2000/12/14 16:42:31 edk Exp $
@


1.12.2.1
log
@Porting to the Turbine Peer system.  -dlr and leonardr
@
text
@d66 1
a66 1
 * @@version $Id: DiscussionProfile.java,v 1.12 2001/01/26 18:29:04 edk Exp $
@


1.11
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.10
log
@use moderated/unmoderated rather than announce/automated-notification
@
text
@d66 1
a66 1
 * @@version $Id: DiscussionProfile.java,v 1.9 2000/12/14 00:32:58 dlr Exp $
@


1.9
log
@die, sucker
@
text
@d66 1
a66 1
 * @@version $Id: DiscussionProfile.java,v 1.8 2000/12/14 00:30:55 dlr Exp $
d131 1
a131 1
            { "cvs", "automated-notification" + typeSuffix,
d133 1
a133 1
            { "announce", "announce" + typeSuffix,
d135 1
a135 1
            { "issues", "automated-notification" + typeSuffix,
@


1.8
log
@Death to project modules!
@
text
@a60 1
import org.tigris.helm.project.Module;
d66 1
a66 1
 * @@version $Id: DiscussionProfile.java,v 1.7 2000/12/12 23:30:00 edk Exp $
@


1.7
log
@using String[][] seemed like it'd be fastest, but it's so easy
to miss stupid mistakes like misordering the values.
@
text
@d67 1
a67 1
 * @@version $Id: DiscussionProfile.java,v 1.6 2000/12/09 06:38:17 edk Exp $
a139 16
    }

    /**
     * Gets the modules that projects of the <code>ProjectProfile</code> 
     * begin life with.
     *
     * @@return Default mailing lists.
     */
    public Object getDefaultModules (Connection conn, DataManager
                                     dMgr, String projectID)
        throws UpdateException, DataSetException, JoistDatabaseException, 
               SQLException, DoesNotExist
    {
        Module[] modules = { new Module(conn, dMgr, projectID, 
                                        "www", "Web content", true) };
        return modules;
@


1.6
log
@don't construct MailingList objects until we really do want to create
them (that's much more efficient, and avoids any dependency on the
anzu server actually being running when this happens -- if it's not,
project creation won't work correctly -- but that's something for the
site admins to deal with.
@
text
@d67 1
a67 1
 * @@version $Id: DiscussionProfile.java,v 1.5 2000/12/04 02:18:30 edk Exp $
d130 8
a137 8
            { "discuss", "A mailing list for discussions",
                "discuss" + typeSuffix },
            { "cvs", "A mailing list for cvs commit messages",
                "automated-notification" + typeSuffix },
            { "announce", "A moderated mailing list for announce messages",
                "announce" + typeSuffix },
            { "issues", "A mailing list for issuezilla messages",
                "automated-notification" + typeSuffix }
@


1.5
log
@create an announce list, used for announcements via the news facility
@
text
@d67 1
a67 1
 * @@version $Id: DiscussionProfile.java,v 1.4 2000/11/29 21:10:26 edk Exp $
d129 9
a137 13
        MailingList lists[] = {
                new MailingList(conn, dMgr, "discuss",
                        "A mailing list for discussion", projectID,
                        "discuss" + typeSuffix),
                new MailingList(conn, dMgr, "cvs",
                        "A mailing list for cvs commit messages",
                        projectID, "automated-notification" + typeSuffix),
                new MailingList(conn, dMgr, "issues",
                        "A mailing list for issuezilla messages",
                        projectID, "automated-notification" + typeSuffix),
                new MailingList(conn, dMgr, "announce",
                        "A mailing list for announcements",
                        projectID, "announce" + typeSuffix)
@


1.4
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
@d67 1
a67 1
 * @@version $Id: DiscussionProfile.java,v 1.3 2000/11/15 15:00:04 edk Exp $
d138 4
a141 1
                        projectID, "automated-notification" + typeSuffix)
@


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
@d56 2
d67 1
a67 1
 * @@version $Id: DiscussionProfile.java,v 1.2 2000/11/15 11:24:40 edk Exp $
d123 1
a123 1
        throws DataSetException, DoesNotExist
@


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
@d65 1
a65 1
 * @@version $Id: DiscussionProfile.java,v 1.1.1.1 2000/11/12 21:15:50 dlr Exp $
d119 2
a120 1
                                          String projectID)
d123 4
d130 1
a130 1
                        "discuss"),
d133 1
a133 1
                        projectID, "cvs"),
d136 1
a136 1
                        projectID, "discuss")
@


1.1
log
@Initial revision
@
text
@d65 1
a65 1
 * @@version $Id: DiscussionProfile.java,v 1.8 2000/11/11 01:26:19 edk Exp $
d119 1
a119 1
                                          Integer projectID)
d124 1
a124 1
                        "A mailing list for discussion", projectID.toString(),
d128 1
a128 1
                        projectID.toString(), "cvs"),
d131 1
a131 1
                        projectID.toString(), "discuss")
d143 1
a143 1
                                     dMgr, Integer projectID)
d147 1
a147 1
        Module[] modules = { new Module(conn, dMgr, projectID.toString(), 
@


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
@@
