1. Teil portalserver auf legacy free migrieren, diverse Reste.
git-svn-id: https://svn.libreccm.org/ccm/trunk@1526 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
c57346b5bd
commit
96e7e1fa48
|
|
@ -63,8 +63,8 @@ interface AdminConstants {
|
|||
(new GlobalizedMessage("ui.admin.tab.group.title",
|
||||
BUNDLE_NAME));
|
||||
|
||||
Label SITEMAP_TAB_TITLE = new Label
|
||||
(new GlobalizedMessage("ui.admin.tab.sitemap.title",
|
||||
Label APPLICATIONS_TAB_TITLE = new Label
|
||||
(new GlobalizedMessage("ui.admin.tab.applications.title",
|
||||
BUNDLE_NAME));
|
||||
|
||||
GlobalizedMessage USER_NAVBAR_TITLE =
|
||||
|
|
@ -104,8 +104,8 @@ interface AdminConstants {
|
|||
BigDecimalParameter GROUP_ID_PARAM =
|
||||
new BigDecimalParameter("group_id");
|
||||
|
||||
BigDecimalParameter SITEMAP_ID_PARAM =
|
||||
new BigDecimalParameter("sitemap_id");
|
||||
BigDecimalParameter APPLICATIONS_ID_PARAM =
|
||||
new BigDecimalParameter("application_id");
|
||||
|
||||
BigDecimalParameter USER_ID_PARAM =
|
||||
new BigDecimalParameter("user_id");
|
||||
|
|
|
|||
|
|
@ -85,20 +85,6 @@ public class AdminServlet extends BaseApplicationServlet
|
|||
addPage("/", buildAdminIndexPage()); // index page at address ~/ds
|
||||
// addPage("/index.jsp", buildIndexPage()); // index page at address ~/ds
|
||||
|
||||
// addPage("/log4j", buildLog4jPage()); // Logger Adjuster at addr. ~/ds/log4j
|
||||
// addPage("/config", buildConfigPage()); // config browser @ ~/ds/config
|
||||
// cache table browser @ ~/ds/cache-table
|
||||
// addPage("/cache-table", buildCacheTablePage());
|
||||
|
||||
// XXXX!!
|
||||
// QueryLog is a class of its own in webdevsupport, based upon
|
||||
// dispatcher.Disp and prints out all queries in a request
|
||||
// put("query-log", new QueryLog());
|
||||
|
||||
// addPage("/request-info", buildRequestInfoPage());
|
||||
// addPage("/query-info", buildQueryInfoPage());
|
||||
// addPage("/query-plan", buildQueryPlanPage());
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -188,7 +174,7 @@ public class AdminServlet extends BaseApplicationServlet
|
|||
|
||||
p.addGlobalStateParam(USER_ID_PARAM);
|
||||
p.addGlobalStateParam(GROUP_ID_PARAM);
|
||||
// p.addGlobalStateParam(SITEMAP_ID_PARAM);
|
||||
// p.addGlobalStateParam(APPLICATIONS_ID_PARAM);
|
||||
|
||||
/**
|
||||
* Create User split panel.
|
||||
|
|
@ -217,8 +203,8 @@ public class AdminServlet extends BaseApplicationServlet
|
|||
/*
|
||||
* Create group administration panel
|
||||
*/
|
||||
// SitemapAdministrationTab sitemapAdministrationTab =
|
||||
// new SitemapAdministrationTab();
|
||||
// ApplicationsAdministrationTab appsAdministrationTab =
|
||||
// new ApplicationsAdministrationTab();
|
||||
|
||||
// Create the Admin's page tab bar, currently 2 elements: user & groups
|
||||
TabbedPane tb = new TabbedPane();
|
||||
|
|
@ -226,11 +212,11 @@ public class AdminServlet extends BaseApplicationServlet
|
|||
|
||||
tb.addTab(USER_TAB_TITLE, userSplitPanel);
|
||||
tb.addTab(GROUP_TAB_TITLE, groupAdministrationTab);
|
||||
// tb.addTab(SITEMAP_TAB_TITLE, sitemapAdministrationTab);
|
||||
// tb.addTab(APPLICATIONS_TAB_TITLE, appsAdministrationTab);
|
||||
|
||||
browsePane.setTabbedPane(tb);
|
||||
browsePane.setGroupAdministrationTab(groupAdministrationTab);
|
||||
// browsePane.setSitemapAdministrationTab(sitemapAdministrationTab);
|
||||
// browsePane.setAppsAdministrationTab(appsAdministrationTab);
|
||||
|
||||
p.add(tb);
|
||||
p.lock();
|
||||
|
|
|
|||
|
|
@ -20,7 +20,7 @@ import java.math.BigDecimal;
|
|||
*
|
||||
* @author pb
|
||||
*/
|
||||
public class SitemapAdministrationTab extends BoxPanel
|
||||
public class ApplicationsAdministrationTab extends BoxPanel
|
||||
implements AdminConstants, ChangeListener {
|
||||
|
||||
private GlobalizedMessage m_title;
|
||||
|
|
@ -29,7 +29,7 @@ public class SitemapAdministrationTab extends BoxPanel
|
|||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public SitemapAdministrationTab() {
|
||||
public ApplicationsAdministrationTab() {
|
||||
|
||||
// m_title = "TEST für ein neues Pannel";
|
||||
setClassAttr("sidebarNavPanel");
|
||||
|
|
@ -102,7 +102,7 @@ class UserBrowsePane extends SegmentedPanel
|
|||
private Component m_extremeActionPanel;
|
||||
private Component m_userDeleteFailedPanel;
|
||||
private GroupAdministrationTab m_groupAdministrationTab;
|
||||
private SitemapAdministrationTab m_sitemapAdministrationTab;
|
||||
private ApplicationsAdministrationTab m_sitemapAdministrationTab;
|
||||
private TabbedPane m_tabbedPane;
|
||||
|
||||
private List m_groupList = null;
|
||||
|
|
@ -556,7 +556,7 @@ class UserBrowsePane extends SegmentedPanel
|
|||
m_groupAdministrationTab = groupAdministrationTab;
|
||||
}
|
||||
|
||||
public void setSitemapAdministrationTab(SitemapAdministrationTab
|
||||
public void setSitemapAdministrationTab(ApplicationsAdministrationTab
|
||||
sitemapAdministrationTab) {
|
||||
m_sitemapAdministrationTab = sitemapAdministrationTab;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,73 +0,0 @@
|
|||
/*
|
||||
* Copyright (C) 2002-2004 Red Hat Inc. All Rights Reserved.
|
||||
*
|
||||
* This library is free software; you can redistribute it and/or
|
||||
* modify it under the terms of the GNU Lesser General Public License
|
||||
* as published by the Free Software Foundation; either version 2.1 of
|
||||
* the License, or (at your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library; if not, write to the Free Software
|
||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
*
|
||||
*/
|
||||
package com.arsdigita.portalserver;
|
||||
|
||||
import com.arsdigita.bebop.page.PageTransformer;
|
||||
import com.arsdigita.persistence.*;
|
||||
import com.arsdigita.kernel.*;
|
||||
import com.arsdigita.sitenode.*;
|
||||
import com.arsdigita.web.*;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* ECMPresentationManager
|
||||
*
|
||||
* @author <a href="mailto:rhs@mit.edu">rhs@mit.edu</a>
|
||||
* @version $Revision: #5 $ $Date: 2004/08/17 $
|
||||
* @version $Id: ECMPresentationManager.java pboy $
|
||||
**/
|
||||
|
||||
public class ECMPresentationManager extends PageTransformer {
|
||||
|
||||
|
||||
private static Map m_sheets = new HashMap();
|
||||
|
||||
protected synchronized Stylesheet findStylesheet(SiteNode node, Locale l,
|
||||
String outputType) {
|
||||
TransactionContext ctx =
|
||||
SessionManager.getSession().getTransactionContext();
|
||||
|
||||
boolean commit = false;
|
||||
if (!ctx.inTxn()) {
|
||||
ctx.beginTxn();
|
||||
commit = true;
|
||||
}
|
||||
|
||||
String key = l + "." + outputType;
|
||||
|
||||
Stylesheet result = (Stylesheet) m_sheets.get(key);
|
||||
|
||||
if (result == null || !result.isValid()) {
|
||||
ApplicationType type =
|
||||
ApplicationType.retrieveApplicationTypeForApplication(
|
||||
PortalSite.BASE_DATA_OBJECT_TYPE);
|
||||
PackageType pkg = type.getPackageType();
|
||||
result = pkg.getStylesheet(l, outputType);
|
||||
result.disconnect();
|
||||
m_sheets.put(key, result);
|
||||
}
|
||||
|
||||
if (commit) {
|
||||
ctx.commitTxn();
|
||||
}
|
||||
|
||||
return result;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
@ -43,7 +43,6 @@ import com.arsdigita.portalserver.ui.admin.PortalSiteMap;
|
|||
|
||||
import com.arsdigita.runtime.*;
|
||||
import com.arsdigita.web.Application;
|
||||
import com.arsdigita.web.ApplicationSetup;
|
||||
import com.arsdigita.web.ApplicationType;
|
||||
|
||||
// USED BY loadSubsite() which es meant to replace the applications mounted
|
||||
|
|
@ -138,81 +137,27 @@ public class Loader extends PackageLoader {
|
|||
*/
|
||||
private void loadPortalSiteApplicationType() {
|
||||
|
||||
// Step 1: Create an application type for portalserver
|
||||
// Try: new style legacy free application
|
||||
// ApplicationType type =
|
||||
// new ApplicationType("Portal Site", // creates portalsite as
|
||||
// // module name for XSL
|
||||
// PortalSite.BASE_DATA_OBJECT_TYPE );
|
||||
// type.setDescription
|
||||
// ("A Portal Site is a center for content aggregation. It usually" +
|
||||
// "has its own set of applications, such as a discussion forum" +
|
||||
// "and content items, as well as a list of participants.");
|
||||
|
||||
/* s_log.info("PackageType 'portalsite' is not installed. " +
|
||||
"Installing now...");
|
||||
|
||||
// Stylesheet stylesheet = Stylesheet.createStylesheet
|
||||
// ("/packages/portalserver/xsl/portalserver.xsl");
|
||||
|
||||
PackageType packageType = PackageType.create
|
||||
("portalsite", "PortalSite", "PortalSites",
|
||||
"http://arsdigita.com/portalsite");
|
||||
// packageType.addStylesheet(stylesheet);
|
||||
packageType.setDispatcherClass
|
||||
("com.arsdigita.portalserver.ui.PortalDispatcher");
|
||||
packageType.save();
|
||||
*/
|
||||
//Step 2: Create themes
|
||||
// buildDefaultThemes();
|
||||
|
||||
// Step 3: Create legacy compatible ApplicationType
|
||||
ApplicationType type = ApplicationType.createApplicationType(
|
||||
/* First try: create a new style, legacy compatible application */
|
||||
/* ApplicationType type = ApplicationType.createApplicationType(
|
||||
"portalsite",
|
||||
"Portal Site",
|
||||
PortalSite.BASE_DATA_OBJECT_TYPE);
|
||||
type.setDescription
|
||||
("A Portal Site is a center for content aggregation. It usually" +
|
||||
"has its own set of applications, such as a discussion forum " +
|
||||
"and content items, as well as a list of participants.");
|
||||
// Current code requires an apps specific dispatcher class. Has to be
|
||||
// modified to be able to create a legacy free app type.
|
||||
type.setDispatcherClass
|
||||
("com.arsdigita.portalserver.ui.PortalDispatcher");
|
||||
|
||||
/*
|
||||
ApplicationSetup setup = new ApplicationSetup(s_log);
|
||||
|
||||
setup.setApplicationObjectType(PortalSite.BASE_DATA_OBJECT_TYPE);
|
||||
// setup.setPackageType(packageType);
|
||||
setup.setKey("portalsite");
|
||||
setup.setTitle("Portal Site");
|
||||
setup.setDescription
|
||||
("A Portal Site is a center for content aggregation. It usually" +
|
||||
"has its own set of applications, such as a discussion forum" +
|
||||
"and content items, as well as a list of participants.");
|
||||
setup.setDispatcherClass
|
||||
("com.arsdigita.portalserver.ui.PortalDispatcher");
|
||||
setup.setPortalApplication(false);
|
||||
setup.setInstantiator(new ACSObjectInstantiator() {
|
||||
@Override
|
||||
protected DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new PortalSite(dataObject);
|
||||
}
|
||||
});
|
||||
setup.run();
|
||||
*/
|
||||
/* Should not be requiered here
|
||||
DomainObjectFactory.registerInstantiator(
|
||||
Role.BASE_DATA_OBJECT_TYPE, new ACSObjectInstantiator() {
|
||||
public DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new Role(dataObject);
|
||||
}
|
||||
}
|
||||
);
|
||||
*
|
||||
*/
|
||||
|
||||
// Try: new style legacy free application
|
||||
ApplicationType type = new
|
||||
ApplicationType("Portal Site", // title
|
||||
PortalSite.BASE_DATA_OBJECT_TYPE );
|
||||
|
||||
type.setDescription
|
||||
("A Portal Site is a center for content aggregation. It usually" +
|
||||
"has its own set of applications, such as a discussion forum " +
|
||||
"and content items, as well as a list of participants.");
|
||||
type.save();
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -294,27 +239,6 @@ public class Loader extends PackageLoader {
|
|||
// modified to be able to create a legacy free app type.
|
||||
type.setDispatcherClass
|
||||
("com.arsdigita.portalserver.admin.ui.Dispatcher");
|
||||
/*
|
||||
ApplicationSetup setup = new ApplicationSetup(s_log);
|
||||
|
||||
setup.setApplicationObjectType(PSAdmin.BASE_DATA_OBJECT_TYPE);
|
||||
setup.setTitle("Portal Server Site Administration");
|
||||
setup.setDescription("Displays common administration tasks.");
|
||||
setup.setPortalApplication(false);
|
||||
setup.setKey("portal-admin");
|
||||
// db based stylesheets no longer used.
|
||||
// setup.setStylesheet("/packages/portalserver/xsl/portalserver.xsl");
|
||||
setup.setDispatcherClass("com.arsdigita.portalserver.admin.ui.Dispatcher");
|
||||
setup.setInstantiator(new ACSObjectInstantiator() {
|
||||
@Override
|
||||
protected DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new PSAdmin(dataObject);
|
||||
}
|
||||
});
|
||||
// setupAdminInstance(setup.run());
|
||||
setup.run();
|
||||
// setupPortalSiteAdminInstance(setup.run())
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -336,26 +260,6 @@ public class Loader extends PackageLoader {
|
|||
// modified to be able to create a legacy free app type.
|
||||
type.setDispatcherClass
|
||||
("com.arsdigita.portalserver.ui.admin.PortalCreateDispatcher");
|
||||
/*
|
||||
ApplicationSetup setup = new ApplicationSetup(s_log);
|
||||
setup.setApplicationObjectType(PortalCreator.BASE_DATA_OBJECT_TYPE);
|
||||
setup.setTitle("Portal Creator");
|
||||
setup.setDescription("Creates portals.");
|
||||
setup.setWorkspaceApplication(false);
|
||||
setup.setKey("portal-create");
|
||||
// setup.setStylesheet("/packages/portalserver/xsl/portalserver.xsl");
|
||||
setup.setDispatcherClass(
|
||||
"com.arsdigita.portalserver.ui.admin.PortalCreateDispatcher");
|
||||
setup.setInstantiator(new ACSObjectInstantiator() {
|
||||
@Override
|
||||
protected DomainObject doNewInstance(DataObject dataObject) {
|
||||
return new PortalCreator(dataObject);
|
||||
}
|
||||
});
|
||||
|
||||
setup.run();
|
||||
// return setup.run();
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
|
|
@ -492,26 +396,21 @@ public class Loader extends PackageLoader {
|
|||
// S e t u p o f P O R T A L a p p l i c a t i o n s
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/**
|
||||
* Instantiate an application of type PortalSite with site wide administration
|
||||
* tools.
|
||||
*/
|
||||
private void setupAdminPortal() {
|
||||
|
||||
// First check, whether an instance of /administration / is already
|
||||
// installed.
|
||||
// Running in a Loader, this is just impossible. So we can create
|
||||
// /administration/ immediately
|
||||
// try {
|
||||
// SiteNode sn = SiteNode.getSiteNode("/administration", false);
|
||||
// if (!"administration".equals(sn.getName())) {
|
||||
PortalSite ps = PortalSite.createPortalSite(
|
||||
"administration", "Administration", null);
|
||||
ps.setMission("Administration Portal");
|
||||
ps.save();
|
||||
// }
|
||||
// } catch (DataObjectNotFoundException e) {
|
||||
// Assert.fail(e.getMessage());
|
||||
// }
|
||||
}
|
||||
PortalSite ps = PortalSite.createPortalSite("administration",
|
||||
"Administration",
|
||||
null);
|
||||
ps.setMission("Administration Portal");
|
||||
ps.save();
|
||||
|
||||
/* FORMERLY admin.Initializer */
|
||||
}
|
||||
|
||||
/**
|
||||
* Setup an PortalServer Administration Instance as legacy compatible
|
||||
|
|
|
|||
|
|
@ -38,6 +38,21 @@ import javax.servlet.http.HttpServletResponse;
|
|||
|
||||
import org.apache.log4j.Logger;
|
||||
|
||||
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
//
|
||||
// UNKNOWN whether this is unfinished work in progress or really used in some
|
||||
// way.
|
||||
//
|
||||
// Might be a first shot to replace ui.PortalDispatcher by a new legacy free
|
||||
// servlet because it uses the same pages (PortalHomePage, PortalParticipants
|
||||
// but additionally a PortalAdminPage (from package c.ad.ps.ui.admin)
|
||||
// On the other hand this is the same as m_portalsiteAdminDispatcher of
|
||||
// PortalDispatcher
|
||||
//
|
||||
// ////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
|
||||
/**
|
||||
*
|
||||
* @author Justin Ross <<a href="mailto:jross@redhat.com">jross@redhat.com</a>>
|
||||
|
|
@ -56,12 +71,12 @@ public class PortalServlet extends BaseApplicationServlet {
|
|||
private static Page s_adminPage = null;
|
||||
|
||||
static {
|
||||
TransactionContext ctx = SessionManager.getSession().getTransactionContext();
|
||||
ctx.beginTxn();
|
||||
// TransactionContext ctx = SessionManager.getSession().getTransactionContext();
|
||||
// ctx.beginTxn();
|
||||
|
||||
s_adminPage = new PortalAdminPage();
|
||||
|
||||
ctx.commitTxn();
|
||||
// ctx.commitTxn();
|
||||
}
|
||||
|
||||
public void doService(HttpServletRequest sreq,
|
||||
|
|
|
|||
|
|
@ -45,6 +45,7 @@ import com.arsdigita.web.Application;
|
|||
import com.arsdigita.web.ApplicationCollection;
|
||||
import com.arsdigita.web.ApplicationType;
|
||||
|
||||
import com.arsdigita.web.URL;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
|
@ -104,6 +105,10 @@ public class PortalSite extends Application {
|
|||
super(dataObject);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* Do we really need this when PortalSite is a new style application?
|
||||
*/
|
||||
@Override
|
||||
protected void initialize() {
|
||||
super.initialize();
|
||||
|
|
@ -122,6 +127,14 @@ public class PortalSite extends Application {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param urlName
|
||||
* @param title
|
||||
* @param parent
|
||||
* @param inheritPermissions
|
||||
* @return
|
||||
*/
|
||||
public static PortalSite createPortalSite
|
||||
(String urlName, String title, PortalSite parent,
|
||||
boolean inheritPermissions) {
|
||||
|
|
@ -147,7 +160,10 @@ public class PortalSite extends Application {
|
|||
|
||||
|
||||
/**
|
||||
* Creates an Instance ot ApplicationType PortalSite as a legacy free
|
||||
* Creates an Instance ot ApplicationType PortalSite
|
||||
* Whether is is a legacy free or a legacy compatible application depends
|
||||
* on the property of its application type. Nothing to adjust here for that.
|
||||
*
|
||||
* application.
|
||||
* @param urlName
|
||||
* @param title
|
||||
|
|
@ -158,19 +174,18 @@ public class PortalSite extends Application {
|
|||
String title,
|
||||
PortalSite parent) {
|
||||
|
||||
ApplicationType type =
|
||||
ApplicationType.retrieveApplicationTypeForApplication
|
||||
(BASE_DATA_OBJECT_TYPE);
|
||||
ApplicationType type = ApplicationType
|
||||
.retrieveApplicationTypeForApplication
|
||||
(BASE_DATA_OBJECT_TYPE);
|
||||
|
||||
/* Uses class Application's create method. Type of created application
|
||||
* depends on the type of ApplicationType */
|
||||
PortalSite ps = (PortalSite) Application.createApplication
|
||||
(type, urlName, title, parent);
|
||||
(type, urlName, title, parent);
|
||||
|
||||
ps.setUnarchived();
|
||||
|
||||
ps.setDraft(false);
|
||||
|
||||
ps.setCreationDate();
|
||||
|
||||
ps.setPersonalizable(false);
|
||||
|
||||
return ps;
|
||||
|
|
@ -217,30 +232,6 @@ public class PortalSite extends Application {
|
|||
return portalsiteCollection;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param siteNode
|
||||
* @return Can return null.
|
||||
*/
|
||||
/* OBVIOUSLY NO LONGER USED
|
||||
public static PortalSite retrievePortalSiteForSiteNode(SiteNode siteNode) {
|
||||
DataQuery query = SessionManager.getSession().retrieveQuery
|
||||
("com.arsdigita.workspace.workspaceForSiteNodeID");
|
||||
|
||||
query.setParameter("siteNodeID", siteNode.getID());
|
||||
|
||||
PortalSite portalsite = null;
|
||||
|
||||
if (query.next()) {
|
||||
DataObject dataObject = (DataObject) query.get("workspace");
|
||||
portalsite = PortalSite.retrievePortalSite(dataObject);
|
||||
}
|
||||
|
||||
query.close();
|
||||
|
||||
return portalsite;
|
||||
}
|
||||
*/
|
||||
// Can return null.
|
||||
public static PortalSite retrievePortalSite(BigDecimal id) {
|
||||
return (PortalSite) Application.retrieveApplication(id);
|
||||
|
|
@ -445,15 +436,19 @@ public class PortalSite extends Application {
|
|||
return currentPortalSite;
|
||||
}
|
||||
|
||||
private static PortalSite
|
||||
doGetCurrentPortalSite(HttpServletRequest request) {
|
||||
/**
|
||||
*
|
||||
* @param request
|
||||
* @return
|
||||
*/
|
||||
private static PortalSite doGetCurrentPortalSite(HttpServletRequest req) {
|
||||
// First, assume that the user is at a PortalSite already,
|
||||
// since we can save a query if we're right. This logic will
|
||||
// not make sense if we find that this method is called mostly
|
||||
// from sub applications of a portal site, since it incurs an
|
||||
// extra query in that case.
|
||||
|
||||
Application application = Application.getCurrentApplication(request);
|
||||
Application application = Application.getCurrentApplication(req);
|
||||
|
||||
if (application instanceof PortalSite) {
|
||||
return (PortalSite) application;
|
||||
|
|
@ -472,6 +467,10 @@ public class PortalSite extends Application {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static PortalSiteCollection getRootPortalSites() {
|
||||
DataQuery query = SessionManager.getSession().retrieveQuery
|
||||
("com.arsdigita.workspace.rootWorkspaces");
|
||||
|
|
@ -488,6 +487,10 @@ public class PortalSite extends Application {
|
|||
return psc;
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public static PortalSiteCollection getAllRootPortalSites() {
|
||||
DataQuery query = SessionManager.getSession().retrieveQuery
|
||||
("com.arsdigita.workspace.rootWorkspaces");
|
||||
|
|
@ -505,10 +508,18 @@ public class PortalSite extends Application {
|
|||
return new PortalSiteCollection(collection);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param portalsite
|
||||
*/
|
||||
public void addRelatedPortalSite(PortalSite portalsite) {
|
||||
add("relatedWorkspace", portalsite);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param portalsite
|
||||
*/
|
||||
public void removeRelatedPortalSite(PortalSite portalsite) {
|
||||
remove("relatedWorkspace", portalsite);
|
||||
}
|
||||
|
|
@ -636,6 +647,10 @@ public class PortalSite extends Application {
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
public PartyCollection getParticipants() {
|
||||
return new PartyCollection(
|
||||
((DataAssociation) get("participants")).cursor());
|
||||
|
|
@ -768,7 +783,11 @@ public class PortalSite extends Application {
|
|||
remove("workspaceTab",ptab);
|
||||
}
|
||||
|
||||
// Can return null.
|
||||
/**
|
||||
*
|
||||
*
|
||||
* @return (Can return null.)
|
||||
*/
|
||||
public PortalTabCollection getTabsForPortalSite() {
|
||||
DataAssociation association = (DataAssociation)get("workspaceTab");
|
||||
|
||||
|
|
@ -918,6 +937,9 @@ public class PortalSite extends Application {
|
|||
return (Date)get("archiveDate");
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
public void archive() {
|
||||
Party p;
|
||||
|
||||
|
|
@ -1022,6 +1044,12 @@ public class PortalSite extends Application {
|
|||
return result.listIterator();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param ps
|
||||
* @param user
|
||||
* @return
|
||||
*/
|
||||
public static PortalSite createSubPortal(PortalSite ps, User user) {
|
||||
String urlfrag = "U-" + user.getID().toString();
|
||||
PortalSite psite = createPortalSite(urlfrag,ps.getDisplayName(),ps);
|
||||
|
|
@ -1081,4 +1109,43 @@ public class PortalSite extends Application {
|
|||
return psite;
|
||||
}
|
||||
|
||||
/**
|
||||
* Returns the path name of the location of the applications servlet/JSP.
|
||||
*
|
||||
* Application implementations may overwrite this method to provide an
|
||||
* application specific location, especially if an application (module) is
|
||||
* to be installed along with others in one context.
|
||||
*
|
||||
* If you install the module into its own context you may use a standard
|
||||
* location. In most cases though all modules (applications) of an
|
||||
* webapplication should be installed into one context.
|
||||
*
|
||||
* Frequently it is a symbolic name/path, which will be mapped in the web.xml
|
||||
* to the real location in the file system. Example:
|
||||
* <servlet>
|
||||
* <servlet-name>applicationName-files</servlet-name>
|
||||
* <servlet-class>com.arsdigita.web.ApplicationFileServlet</servlet-class>
|
||||
* <init-param>
|
||||
* <param-name>template-path</param-name>
|
||||
* <param-value>/templates/ccm-applicationName</param-value>
|
||||
* </init-param>
|
||||
* </servlet>
|
||||
*
|
||||
* <servlet-mapping>
|
||||
* <servlet-name>applicationName-files</servlet-name>
|
||||
* <url-pattern>/ccm-applicationName/files/*</url-pattern>
|
||||
* </servlet-mapping>
|
||||
*
|
||||
* NOTE: According to Servlet API the path always starts with a leading '/'
|
||||
* and includes either the servlet name or a path to the servlet, but does
|
||||
* not include any extra path information or a query string. Returns an
|
||||
* empry string ("") is the servlet used was matched using the "/*" pattern.
|
||||
*
|
||||
* @return path name to the applications servlet/JSP
|
||||
*/
|
||||
@Override
|
||||
public String getServletPath() {
|
||||
return URL.SERVLET_DIR + "/portalsite";
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,19 +61,14 @@ import org.apache.log4j.Logger;
|
|||
*
|
||||
* @author <a href="mailto:justin@arsdigita.com">Justin Ross</a>
|
||||
* @author <a href="mailto:jparsons@arsdigita.com">Jim Parsons</a>
|
||||
* @version $Id: //portalserver/dev/src/com/arsdigita/portalserver/ui/PortalHomePage.java#7 $
|
||||
* @version $Id: PortalHomePage.java#7 $ $DateTime: 2004/08/17 23:19:25 $
|
||||
*/
|
||||
public class PortalHomePage extends PortalPage {
|
||||
|
||||
private static final Logger s_log = Logger.getLogger(PortalHomePage.class);
|
||||
|
||||
private static final Cookie[] EMPTY_COOKIES = {};
|
||||
|
||||
public static final String versionId =
|
||||
"$Id: //portalserver/dev/src/com/arsdigita/portalserver/ui/PortalHomePage.java#7 $" +
|
||||
"$Author: dennis $" +
|
||||
"$DateTime: 2004/08/17 23:19:25 $";
|
||||
|
||||
private static final Logger s_log = Logger.getLogger
|
||||
(PortalHomePage.class);
|
||||
|
||||
public static final String PORTAL_XML_NS =
|
||||
"http://www.arsdigita.com/portalserver/1.0";
|
||||
|
||||
|
|
@ -91,23 +86,38 @@ public class PortalHomePage extends PortalPage {
|
|||
}
|
||||
};
|
||||
|
||||
/**
|
||||
* Constructor
|
||||
*/
|
||||
public PortalHomePage() {
|
||||
super();
|
||||
|
||||
addRequestListener(new PortalRequestListener());
|
||||
|
||||
lock();
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param ps
|
||||
* @return
|
||||
*/
|
||||
private boolean hasAdmin(PageState ps) {
|
||||
return m_hasAdmin.get(ps).equals(Boolean.TRUE);
|
||||
}
|
||||
|
||||
// Can return null.
|
||||
/**
|
||||
*
|
||||
* @param pageState
|
||||
* @return (Can return null.)
|
||||
*/
|
||||
protected PortalSite getPortalSite(PageState pageState) {
|
||||
return PortalSite.getCurrentPortalSite(pageState.getRequest());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
*/
|
||||
@Override
|
||||
protected void buildContextBar() {
|
||||
DimensionalNavbar navbar = new DimensionalNavbar();
|
||||
|
||||
|
|
@ -119,8 +129,14 @@ public class PortalHomePage extends PortalPage {
|
|||
getHeader().add(navbar);
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param header
|
||||
*/
|
||||
@Override
|
||||
protected void buildHeader(Container header) {
|
||||
Link adminLink = new Link( new Label(GlobalizationUtil.globalize("cw.workspace.ui.configure_workspace")), "./admin") {
|
||||
@Override
|
||||
public boolean isVisible(PageState ps) {
|
||||
return hasAdmin(ps);
|
||||
}
|
||||
|
|
@ -164,6 +180,11 @@ public class PortalHomePage extends PortalPage {
|
|||
header.add(new SearchComponent());
|
||||
}
|
||||
|
||||
/**
|
||||
*
|
||||
* @param body
|
||||
*/
|
||||
@Override
|
||||
protected void buildBody(Container body) {
|
||||
ListModelBuilder lmb = new ListModelBuilder() {
|
||||
boolean m_isLocked;
|
||||
|
|
|
|||
|
|
@ -0,0 +1,18 @@
|
|||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app xmlns="http://java.sun.com/xml/ns/j2ee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
|
||||
version="2.4">
|
||||
|
||||
<!-- Servlets for the portalserver applications -->
|
||||
<servlet>
|
||||
<servlet-name>portalsite</servlet-name>
|
||||
<servlet-class>com.arsdigita.portalserver.PortalServlet</servlet-class>
|
||||
</servlet>
|
||||
|
||||
<servlet-mapping>
|
||||
<servlet-name>portalsite</servlet-name>
|
||||
<url-pattern>/templates/servlet/portalsite/*</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
</web-app>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portalserver.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -2,5 +2,5 @@
|
|||
<xsl:stylesheet
|
||||
xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
||||
|
||||
<xsl:include href="../../packages/portalserver/xsl/portal-sitemap.xsl"/>
|
||||
<xsl:include href="../../../packages/portalserver/xsl/portal-sitemap.xsl"/>
|
||||
</xsl:stylesheet>
|
||||
|
|
@ -146,8 +146,8 @@
|
|||
<ccm:application name="ccm-faq"/>
|
||||
<ccm:application name="ccm-forum"/>
|
||||
<ccm:application name="ccm-forum-categorised"/>
|
||||
<!--
|
||||
<ccm:application name="ccm-portalserver"/>
|
||||
<!--
|
||||
<ccm:application name="ccm-weblog"/>
|
||||
<ccm:application name="ccm-webpage"/>
|
||||
-->
|
||||
|
|
|
|||
Loading…
Reference in New Issue