Verschiedene Formatierungen / Doku Ergaenzung

git-svn-id: https://svn.libreccm.org/ccm/trunk@656 8810af33-2d31-482b-a856-94f89814c4df
master
pb 2010-12-23 21:03:25 +00:00
parent fba978d8bd
commit e01da4aefb
14 changed files with 161 additions and 117 deletions

View File

@ -58,10 +58,19 @@ public class BebopApplicationServlet extends BaseApplicationServlet {
// Set of pathinfo // Set of pathinfo
private final Set m_clientCacheDisabledPages = new HashSet(); private final Set m_clientCacheDisabledPages = new HashSet();
/**
*
* @throws ServletException
*/
public void init() throws ServletException { public void init() throws ServletException {
super.init(); super.init();
} }
/**
*
* @param pathInfo
* @param page
*/
protected final void put(final String pathInfo, protected final void put(final String pathInfo,
final Page page) { final Page page) {
Assert.exists(pathInfo, String.class); Assert.exists(pathInfo, String.class);
@ -70,6 +79,7 @@ public class BebopApplicationServlet extends BaseApplicationServlet {
m_pages.put(pathInfo, page); m_pages.put(pathInfo, page);
} }
/** /**
* *
* disable client/middleware caching of specified page. * disable client/middleware caching of specified page.
@ -77,16 +87,25 @@ public class BebopApplicationServlet extends BaseApplicationServlet {
*/ */
protected final void disableClientCaching(String pathInfo) { protected final void disableClientCaching(String pathInfo) {
Assert.exists(pathInfo, String.class); Assert.exists(pathInfo, String.class);
Assert.isTrue(m_pages.containsKey(pathInfo), "Page " + pathInfo + " has not been put in servlet"); Assert.isTrue(m_pages.containsKey(pathInfo),
"Page " + pathInfo + " has not been put in servlet");
m_clientCacheDisabledPages.add(pathInfo); m_clientCacheDisabledPages.add(pathInfo);
} }
/**
*
* @param sreq
* @param sresp
* @param app
* @throws ServletException
* @throws IOException
*/
protected final void doService(final HttpServletRequest sreq, protected final void doService(final HttpServletRequest sreq,
final HttpServletResponse sresp, final HttpServletResponse sresp,
final Application app) final Application app)
throws ServletException, IOException { throws ServletException, IOException {
final String pathInfo = sreq.getPathInfo();
final String pathInfo = sreq.getPathInfo();
Assert.exists(pathInfo, "String pathInfo"); Assert.exists(pathInfo, "String pathInfo");
final Page page = (Page) m_pages.get(pathInfo); final Page page = (Page) m_pages.get(pathInfo);

View File

@ -44,10 +44,10 @@ import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler; import org.xml.sax.helpers.DefaultHandler;
/** /**
* Contains functions common to all * Contains functions common to all entry-point dispatcher servlets in the core.
* entry-point dispatcher servlets in the core. Any dispatcher that *
* is the first in its chain to handle an HTTP request must also be a * Any dispatcher that is the first in its chain to handle an HTTP request
* servlet and should extend this class. * must also be a servlet and should extend this class.
* *
* <p>You do <em>not</em> need to extend this class unless your * <p>You do <em>not</em> need to extend this class unless your
* dispatcher is also a servlet and is mounted in web.xml. In any * dispatcher is also a servlet and is mounted in web.xml. In any

View File

@ -25,9 +25,9 @@ import javax.servlet.http.HttpServletRequest;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
* Implements a request context for the * Implements a request context for the site map application
* site map application or for any application dispatcher that creates * or for any application dispatcher that creates the first application context
* the first application context for an incoming request. * for an incoming request.
* *
* @author Bill Schneider * @author Bill Schneider
* @version $Id: InitialRequestContext.java 287 2005-02-22 00:29:02Z sskracic $ * @version $Id: InitialRequestContext.java 287 2005-02-22 00:29:02Z sskracic $

View File

@ -27,8 +27,7 @@ import javax.servlet.UnavailableException;
import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServlet;
/** /**
* Bootstraps the ACS by * Bootstraps the ACS by calling the initializers in the enterprise.init file.
* calling the initializers in the enterprise.init file.
* *
* @author Raphael Schloming (rhs@mit.edu) * @author Raphael Schloming (rhs@mit.edu)
* @version $Id: InitializerServlet.java 287 2005-02-22 00:29:02Z sskracic $ * @version $Id: InitializerServlet.java 287 2005-02-22 00:29:02Z sskracic $

View File

@ -41,8 +41,9 @@ public class AdminDispatcher extends SubsiteDispatcher
* Constructor. Instantiates the subsite url/page mapping. * Constructor. Instantiates the subsite url/page mapping.
*/ */
public AdminDispatcher() { public AdminDispatcher() {
addPage("", buildAdminIndexPage(), true); addPage("", buildAdminIndexPage(), true); // adds index page to dispatchers
addPage("denied", buildDeniedPage()); // page mapping table
addPage("denied", buildDeniedPage()); // adds demied page respectively.
} }
/** /**
@ -50,8 +51,10 @@ public class AdminDispatcher extends SubsiteDispatcher
* be customized by editing the admin stylesheet. * be customized by editing the admin stylesheet.
*/ */
private Page buildDeniedPage() { private Page buildDeniedPage() {
Page p = PageFactory.buildPage("admin", new Label(new GlobalizedMessage Page p = PageFactory.buildPage("admin",
("ui.admin.dispatcher.accessDenied", BUNDLE_NAME))); new Label(new GlobalizedMessage
("ui.admin.dispatcher.accessDenied",
BUNDLE_NAME)));
Label label = new Label(GlobalizationUtil.globalize("ui.admin.access_denied")); Label label = new Label(GlobalizationUtil.globalize("ui.admin.access_denied"));
label.setClassAttr("AccessDenied"); label.setClassAttr("AccessDenied");
@ -89,10 +92,12 @@ public class AdminDispatcher extends SubsiteDispatcher
userSplitPanel.addTab(USER_TAB_CREATE_USER, userSplitPanel.addTab(USER_TAB_CREATE_USER,
new CreateUserPane(userSplitPanel)); new CreateUserPane(userSplitPanel));
/** /*
* Create main administration tab. * Create group administration panel
*/ */
GroupAdministrationTab groupAdministrationTab = new GroupAdministrationTab(); GroupAdministrationTab groupAdministrationTab = new GroupAdministrationTab();
// Create the Admin's page tab bar, currently 2 elements: user & groups
TabbedPane tb = new TabbedPane(); TabbedPane tb = new TabbedPane();
tb.setIdAttr("page-body"); tb.setIdAttr("page-body");

View File

@ -52,7 +52,7 @@ import java.util.ArrayList;
import org.apache.log4j.Logger; import org.apache.log4j.Logger;
/** /**
* * Constructs the panel for administration of groups.
* *
* @author David Dao * @author David Dao
* *

View File

@ -53,7 +53,7 @@ class SubsiteDispatcher extends BebopMapDispatcher {
(SubsiteDispatcher.class); (SubsiteDispatcher.class);
/** /**
* Adds one URL the dispatcher's page map. If isIndex is true, * Adds one URL to the dispatcher's page map. If isIndex is true,
* the page is also mapped to the empty string "" so that it can * the page is also mapped to the empty string "" so that it can
* handle the special case of a request for the directory. * handle the special case of a request for the directory.
*/ */

View File

@ -3,16 +3,26 @@
<head> <head>
<title>com.arsdigita.ui.admin</title> <title>com.arsdigita.ui.admin</title>
</head> </head>
<body bgcolor="white"> <body>
<p>
Package implements the CORE administration panel, usually mouned at /ccm/admin.
Currently it provides an administration interface to</p>
<ul>
<li>create, remove and modify user data</li>
<li>create and remove groups and populate groups with users</li>
</ul>
<p>
The main class is Admin.java (a currently trivial extension of Application)
</p>
<p>
</p>
<p> <p>
(Original description) (Original description)
Basic user interface components for the administrative UI. Basic user interface components for the administrative UI.
</p> </p>
<p>
Package implements the WAF administration panel, usually mouned at /ccm/admin,
used for administration of users and groups.
</p>
</body> </body>
</html> </html>

View File

@ -41,7 +41,6 @@ import com.arsdigita.web.RedirectSignal;
import java.util.HashMap; import java.util.HashMap;
import java.util.Map; import java.util.Map;
import org.apache.log4j.Logger;
import com.arsdigita.dispatcher.Dispatcher; import com.arsdigita.dispatcher.Dispatcher;
import com.arsdigita.dispatcher.DispatcherConfig; import com.arsdigita.dispatcher.DispatcherConfig;
import com.arsdigita.dispatcher.RequestContext; import com.arsdigita.dispatcher.RequestContext;
@ -59,14 +58,10 @@ import org.apache.log4j.Logger;
* page, user workspace, logout, and permissions admin pages. * page, user workspace, logout, and permissions admin pages.
* *
* @author Sameer Ajmani * @author Sameer Ajmani
* @version $Id: SubsiteDispatcher.java 1225 2006-06-19 09:27:21Z apevec
**/ **/
public class SubsiteDispatcher extends BebopMapDispatcher { public class SubsiteDispatcher extends BebopMapDispatcher {
public static final String versionId =
"$Id: SubsiteDispatcher.java 1225 2006-06-19 09:27:21Z apevec $" +
" by $Author: apevec $, " +
"$DateTime: 2004/08/16 18:10:38 $";
public class SubsiteDispatcherMap extends HashMap implements Map { public class SubsiteDispatcherMap extends HashMap implements Map {
public SubsiteDispatcherMap() { public SubsiteDispatcherMap() {

View File

@ -3,14 +3,16 @@
<head> <head>
<title>com.arsdigita.ui.sitemap</title> <title>com.arsdigita.ui.sitemap</title>
</head> </head>
<body bgcolor="white"> <body>
<p> <p>
User interface for dynamically updating URL to application
User interface for dynamically updating URL to application mappings.
mappings. </p>
<p>
This package uses tro large exend the old style application API
(kernel.Package, kernel.SiteNode, etc) and is deprecated ifself.
It is replace by ~/portal/admin/sitemap.jsp
</p> </p>
</body> </body>
</html> </html>

View File

@ -74,37 +74,41 @@ public class ApplicationList extends SimpleContainer {
} }
} }
/** /**
* Retrieves a list of installed applications and creates the xml to show
* a listing.
* *
* @param state * @param state
* @param parent * @param parent
*/ */
public void generateXML(PageState state, Element parent) { public void generateXML(PageState state, Element parent) {
Element content = generateParent(parent);
ApplicationCollection apps = Application.retrieveAllApplications(); Element content = generateParent(parent);
while (apps.next()) { // get installed web/Applications to show
Application app = (Application) apps.getDomainObject(); ApplicationCollection apps = Application.retrieveAllApplications();
Element appEl = content.newChildElement("portal:application", while (apps.next()) {
PortalConstants.PORTAL_XML_NS); Application app = (Application) apps.getDomainObject();
try {
state.setControlEvent(this, SELECT, app.getOID().toString());
appEl.addAttribute("appClass", app.getClass().getName());
appEl.addAttribute("appType", app.getApplicationType().getTitle());
appEl.addAttribute("viewURL", state.stateAsURL());
state.clearControlEvent();
} catch (IOException ex) {
throw new UncheckedWrapperException("damn", ex);
}
DomainObjectXMLRenderer xr = new DomainObjectXMLRenderer(appEl); Element appEl = content.newChildElement("portal:application",
xr.setWrapRoot(false); PortalConstants.PORTAL_XML_NS);
xr.setWrapAttributes(true); try {
xr.setWrapObjects(false); state.setControlEvent(this, SELECT, app.getOID().toString());
appEl.addAttribute("appClass", app.getClass().getName());
appEl.addAttribute("appType", app.getApplicationType().getTitle());
appEl.addAttribute("viewURL", state.stateAsURL());
state.clearControlEvent();
} catch (IOException ex) {
throw new UncheckedWrapperException("damn", ex);
}
xr.walk(app, ApplicationList.class.getName()); DomainObjectXMLRenderer xr = new DomainObjectXMLRenderer(appEl);
} xr.setWrapRoot(false);
} xr.setWrapAttributes(true);
xr.setWrapObjects(false);
xr.walk(app, ApplicationList.class.getName());
}
}
} }

View File

@ -41,19 +41,23 @@ import com.arsdigita.web.ApplicationTypeCollection;
public class ApplicationPane extends SimpleContainer { public class ApplicationPane extends SimpleContainer {
private Map m_edit; // Map of application type -> edit config form private Map m_edit; // Map of application type -> edit config form
private Map m_create; private Map m_create;
private NewApplicationForm m_newApp; private NewApplicationForm m_newApp;
private ApplicationDetails m_appDetails; private ApplicationDetails m_appDetails;
private ActionLink m_editLink; private ActionLink m_editLink;
private ApplicationSelectionModel m_app; private ApplicationSelectionModel m_app;
public ApplicationPane(ApplicationSelectionModel app) { /**
*
* @param app
*/
public ApplicationPane(ApplicationSelectionModel app) {
super("portal:applicationPane", PortalConstants.PORTAL_XML_NS); super("portal:applicationPane", PortalConstants.PORTAL_XML_NS);
m_app = app; m_app = app;

View File

@ -42,28 +42,28 @@ public class ApplicationSelectionModel extends ACSObjectSelectionModel {
private static final Logger s_log = Logger private static final Logger s_log = Logger
.getLogger(ApplicationSelectionModel.class); .getLogger(ApplicationSelectionModel.class);
/** /**
* Constructor * Constructor
* *
* @param param * @param param
* @param hasDefaultValue * @param hasDefaultValue
*/ */
public ApplicationSelectionModel(BigDecimalParameter param, public ApplicationSelectionModel(BigDecimalParameter param,
boolean hasDefaultValue) { boolean hasDefaultValue) {
super(param); super(param);
m_hasDefaultValue = hasDefaultValue; m_hasDefaultValue = hasDefaultValue;
} }
/** /**
* *
* @param hasDefaultValue * @param hasDefaultValue
*/ */
public ApplicationSelectionModel(boolean hasDefaultValue) { public ApplicationSelectionModel(boolean hasDefaultValue) {
this(new BigDecimalParameter(DEFAULT_PARAM_NAME), hasDefaultValue); this(new BigDecimalParameter(DEFAULT_PARAM_NAME), hasDefaultValue);
} }
/** /**
* *
* @param param * @param param
*/ */
@ -87,37 +87,37 @@ public class ApplicationSelectionModel extends ACSObjectSelectionModel {
this(DEFAULT_PARAM_NAME, false); this(DEFAULT_PARAM_NAME, false);
} }
/** /**
* *
* @return * @return
*/ */
public Application getDefaultApplication() { public Application getDefaultApplication() {
Application app = Web.getContext().getApplication(); Application app = Web.getContext().getApplication();
// XXX just in case // XXX just in case
if (app == null) { if (app == null) {
s_log.debug("Using kernel.getContext().getResource() instead"); s_log.debug("Using kernel.getContext().getResource() instead");
app = (Application) Kernel.getContext().getResource(); app = (Application) Kernel.getContext().getResource();
} }
if (app != null) { if (app != null) {
s_log.debug("Default Application: " + app.getID()); s_log.debug("Default Application: " + app.getID());
} else { } else {
s_log.debug("No application found"); s_log.debug("No application found");
} }
return app; return app;
} }
/** /**
* Override ACSObjectSelectionModel methods to default to the default * Override ACSObjectSelectionModel methods to default to the default
* Application * Application
*/ */
public boolean isSelected(PageState state) { public boolean isSelected(PageState state) {
if (m_hasDefaultValue && !super.isSelected(state)) { if (m_hasDefaultValue && !super.isSelected(state)) {
return (getDefaultApplication() != null); return (getDefaultApplication() != null);
} }
return super.isSelected(state); return super.isSelected(state);
} }
/** /**
* *

View File

@ -29,37 +29,43 @@ import com.arsdigita.london.portal.ui.PortalConstants;
import com.arsdigita.web.Application; import com.arsdigita.web.Application;
/** /**
* * Entry page for Application administration as part of ccm portal. Invocation
* by /web/templates/ccm-ldn-portal/admin/sitemap.jsp
*
* A list of all installed application is created and presented along with
* buttons for creating new instances and others.
* *
*/ */
public class SiteMapPane extends SimpleContainer { public class SiteMapPane extends SimpleContainer {
private ApplicationSelectionModel m_app; private ApplicationSelectionModel m_app;
private ApplicationList m_appList; private ApplicationList m_appList;
private ApplicationPane m_appPane; private ApplicationPane m_appPane;
private static final Logger s_log = Logger.getLogger(SiteMapPane.class); /** Private Logger instance */
private static final Logger s_log = Logger.getLogger(SiteMapPane.class);
/** /**
* Constructor * Constructor creates a new application admin pane instance
*/ */
public SiteMapPane() { public SiteMapPane() {
setTag("portal:sitemap"); setTag("portal:sitemap");
setNamespace(PortalConstants.PORTAL_XML_NS); setNamespace(PortalConstants.PORTAL_XML_NS);
m_app = new ApplicationSelectionModel("application", false); m_app = new ApplicationSelectionModel("application", false);
m_app.addChangeListener(new ApplicationEditListener()); m_app.addChangeListener(new ApplicationEditListener());
m_appList = new ApplicationList(m_app); m_appList = new ApplicationList(m_app);
add(m_appList); // adds a list of installed applications
add(m_appList);
m_appPane = new ApplicationPane(m_app); m_appPane = new ApplicationPane(m_app);
add(m_appPane); add(m_appPane);
} }
/** /**
* *
* @param p * @param p
*/ */