Some ajustments for the admin.css.
git-svn-id: https://svn.libreccm.org/ccm/trunk@2515 8810af33-2d31-482b-a856-94f89814c4dfmaster
parent
e87d1fb2dc
commit
7d84a5dbfe
|
|
@ -0,0 +1,45 @@
|
||||||
|
Buildfile: /home/jensp/pwi/openccm/ccm/trunk/build.xml
|
||||||
|
[echo] Project base directory is /home/jensp/pwi/openccm/ccm/trunk
|
||||||
|
[echo] web.xml file requested: web-sci.xml
|
||||||
|
|
||||||
|
start:
|
||||||
|
[java] Listening for transport dt_socket at address: 8000
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.core.AprLifecycleListener init
|
||||||
|
[java] INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /opt/sun-jdk-1.6.0.38/jre/lib/amd64/server:/opt/sun-jdk-1.6.0.38/jre/lib/amd64:/opt/sun-jdk-1.6.0.38/jre/../lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.coyote.http11.Http11Protocol init
|
||||||
|
[java] INFO: Initializing Coyote HTTP/1.1 on http-8080
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.Catalina load
|
||||||
|
[java] INFO: Initialization processed in 424 ms
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.core.StandardService start
|
||||||
|
[java] INFO: Starting service Catalina
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.core.StandardEngine start
|
||||||
|
[java] INFO: Starting Servlet Engine: Apache Tomcat/6.0.32
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.HostConfig deployDescriptor
|
||||||
|
[java] INFO: Deploying configuration descriptor manager.xml
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.HostConfig deployDescriptor
|
||||||
|
[java] INFO: Deploying configuration descriptor host-manager.xml
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.HostConfig deployDirectory
|
||||||
|
[java] INFO: Deploying web application directory docs
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.HostConfig deployDirectory
|
||||||
|
[java] INFO: Deploying web application directory examples
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.core.ApplicationContext log
|
||||||
|
[java] INFO: ContextListener: contextInitialized()
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.core.ApplicationContext log
|
||||||
|
[java] INFO: SessionListener: contextInitialized()
|
||||||
|
[java] 02.02.2013 19:32:21 org.apache.catalina.startup.HostConfig deployDirectory
|
||||||
|
[java] INFO: Deploying web application directory ROOT
|
||||||
|
[java] 2013-02-02 19:32:21,965 [ main] INFO web.CCMApplicationContextListener - Starting CCM Application.
|
||||||
|
[java] 2013-02-02 19:32:21,965 [ main] INFO web.CCMApplicationContextListener - Logging context parameter is: WEB-INF/conf/log4j.properties
|
||||||
|
[java] 2013-02-02 19:32:21,967 [ main] INFO web.CCMApplicationContextListener - BaseDir set to: /home/jensp/pwi/openccm/ccm/trunk/runtime/apache-tomcat-6.0.32/webapps/ROOT/
|
||||||
|
[java] com/arsdigita/content-section/ContentSection.pdl: line 117, column 37 [warning]: table already has primary key: com/arsdigita/content-section/ContentSection.pdl: line 43, column 38
|
||||||
|
[java] com/arsdigita/notification/Notification.pdl: line 37, column 10 [warning]: table already has primary key: com/arsdigita/notification/Notification.pdl: line 35, column 4
|
||||||
|
[java] com/arsdigita/notification/Notification.pdl: line 38, column 10 [warning]: table already has primary key: com/arsdigita/notification/Notification.pdl: line 35, column 4
|
||||||
|
[java]
|
||||||
|
[java] 02.02.2013 19:32:26 org.apache.coyote.http11.Http11Protocol start
|
||||||
|
[java] INFO: Starting Coyote HTTP/1.1 on http-8080
|
||||||
|
[java] 02.02.2013 19:32:26 org.apache.jk.common.ChannelSocket init
|
||||||
|
[java] INFO: JK: ajp13 listening on /0.0.0.0:8009
|
||||||
|
[java] 02.02.2013 19:32:26 org.apache.jk.server.JkMain start
|
||||||
|
[java] INFO: Jk running ID=0 time=0/12 config=null
|
||||||
|
[java] 02.02.2013 19:32:26 org.apache.catalina.startup.Catalina start
|
||||||
|
[java] INFO: Server startup in 5266 ms
|
||||||
|
|
@ -138,7 +138,8 @@ public class Loader extends PackageLoader {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return
|
* @return The email address of the administrator, as configured by
|
||||||
|
* {@link #setupAdministrator()}.
|
||||||
*/
|
*/
|
||||||
private String getAdminEmail() {
|
private String getAdminEmail() {
|
||||||
return (String) get(m_adminEmail);
|
return (String) get(m_adminEmail);
|
||||||
|
|
@ -146,7 +147,7 @@ public class Loader extends PackageLoader {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
*
|
*
|
||||||
* @return
|
* @return The identifier of the administrator as configured by {@link #setupAdministrator()}.
|
||||||
*/
|
*/
|
||||||
private String getAdminIdentifier() {
|
private String getAdminIdentifier() {
|
||||||
return (String) get(m_adminIdent);
|
return (String) get(m_adminIdent);
|
||||||
|
|
|
||||||
|
|
@ -177,7 +177,7 @@ public abstract class BasicItemForm extends FormSection
|
||||||
// This can nowbe done by overwriting the getTitleLabel() method.
|
// This can nowbe done by overwriting the getTitleLabel() method.
|
||||||
// (jensp 2011-01-28)
|
// (jensp 2011-01-28)
|
||||||
add(new Label(getTitleLabel()));
|
add(new Label(getTitleLabel()));
|
||||||
TextField titleWidget = new TextField(new TrimmedStringParameter(TITLE));
|
final TextField titleWidget = new TextField(new TrimmedStringParameter(TITLE));
|
||||||
titleWidget.addValidationListener(new NotNullValidationListener());
|
titleWidget.addValidationListener(new NotNullValidationListener());
|
||||||
titleWidget.setOnFocus("if (this.form." + NAME + ".value == '') { "
|
titleWidget.setOnFocus("if (this.form." + NAME + ".value == '') { "
|
||||||
+ " defaulting = true; this.form." + NAME
|
+ " defaulting = true; this.form." + NAME
|
||||||
|
|
@ -185,6 +185,7 @@ public abstract class BasicItemForm extends FormSection
|
||||||
titleWidget.setOnKeyUp(
|
titleWidget.setOnKeyUp(
|
||||||
"if (defaulting) { this.form." + NAME
|
"if (defaulting) { this.form." + NAME
|
||||||
+ ".value = urlize(this.value) }");
|
+ ".value = urlize(this.value) }");
|
||||||
|
titleWidget.setLabel(getTitleLabel());
|
||||||
titleWidget.setHint(getTitleHint());
|
titleWidget.setHint(getTitleHint());
|
||||||
add(titleWidget);
|
add(titleWidget);
|
||||||
|
|
||||||
|
|
@ -193,7 +194,7 @@ public abstract class BasicItemForm extends FormSection
|
||||||
// This can now be accomplished by overwriting the getNameLabel() method.
|
// This can now be accomplished by overwriting the getNameLabel() method.
|
||||||
// (jensp 2011-01-28)
|
// (jensp 2011-01-28)
|
||||||
add(new Label(getNameLabel()));
|
add(new Label(getNameLabel()));
|
||||||
TextField nameWidget = new TextField(new TrimmedStringParameter(NAME));
|
final TextField nameWidget = new TextField(new TrimmedStringParameter(NAME));
|
||||||
nameWidget.addValidationListener(new NameValidationListener());
|
nameWidget.addValidationListener(new NameValidationListener());
|
||||||
nameWidget.setMaxLength(190);
|
nameWidget.setMaxLength(190);
|
||||||
nameWidget.setOnFocus("defaulting = false");
|
nameWidget.setOnFocus("defaulting = false");
|
||||||
|
|
@ -431,11 +432,11 @@ public abstract class BasicItemForm extends FormSection
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Provides the text for the unser hint providing some detailed information
|
* Provides the text for the user hint providing some detailed information
|
||||||
* how to use this widget.
|
* how to use this widget.
|
||||||
*
|
*
|
||||||
* This method can be overwritten to adjust the text for some content types.
|
* This method can be overwritten to adjust the text for some content types.
|
||||||
* {@link getTitleLabel()}
|
* {@link #getTitleLabel()}
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
@ -459,7 +460,7 @@ public abstract class BasicItemForm extends FormSection
|
||||||
* how to use this widget.
|
* how to use this widget.
|
||||||
*
|
*
|
||||||
* This method can be overwritten to adjust the text for some content types.
|
* This method can be overwritten to adjust the text for some content types.
|
||||||
* {@link getNameLabel()}
|
* {@link #getNameLabel()}
|
||||||
*
|
*
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
|
|
|
||||||
|
|
@ -19,22 +19,21 @@
|
||||||
package com.arsdigita.bebop;
|
package com.arsdigita.bebop;
|
||||||
|
|
||||||
import com.arsdigita.xml.Element;
|
import com.arsdigita.xml.Element;
|
||||||
import com.arsdigita.bebop.util.BebopConstants;
|
|
||||||
|
|
||||||
// This interface contains the XML element name of this class
|
// This interface contains the XML element name of this class
|
||||||
// in a constant which is used when generating XML
|
// in a constant which is used when generating XML
|
||||||
import com.arsdigita.bebop.util.BebopConstants;
|
import com.arsdigita.bebop.util.BebopConstants;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An abstract implementation of {@link Portlet} that captures
|
* An abstract implementation of {@link Portlet} that captures default behavior for portlets defined
|
||||||
* default behavior for portlets defined by users of the {@link
|
* by users of the {@link
|
||||||
* com.arsdigita.bebop.portal.Portal} component.
|
* com.arsdigita.bebop.portal.Portal} component.
|
||||||
*
|
*
|
||||||
* <p>The {@link #generateXML} method in this class provides a default
|
* <p>
|
||||||
* XML dressing around a Portlet. This dressing is used by Portal's
|
* The {@link #generateXML} method in this class provides a default XML dressing around a Portlet.
|
||||||
* stylesheet rules to generate a title and frame around each Portlet.
|
* This dressing is used by Portal's stylesheet rules to generate a title and frame around each
|
||||||
* Programmers looking to implement a Portlet should extend this class
|
* Portlet. Programmers looking to implement a Portlet should extend this class and override
|
||||||
* and override {@link #generateBodyXML}.</p>
|
* {@link #generateBodyXML}.</p>
|
||||||
*
|
*
|
||||||
* @see com.arsdigita.bebop.portal.Portal
|
* @see com.arsdigita.bebop.portal.Portal
|
||||||
* @see com.arsdigita.bebop.portal.PortalModel
|
* @see com.arsdigita.bebop.portal.PortalModel
|
||||||
|
|
@ -62,11 +61,10 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
public static final String NARROW_PROFILE = "narrow";
|
public static final String NARROW_PROFILE = "narrow";
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* An implementation of {@link Portlet#generateXML} that provides
|
* An implementation of {@link Portlet#generateXML} that provides a default Portlet mini-schema.
|
||||||
* a default Portlet mini-schema. Portlet implementers
|
* Portlet implementers
|
||||||
* <em>cannot</em> override this method, as it is meant to give
|
* <em>cannot</em> override this method, as it is meant to give the Portal stylesheet something
|
||||||
* the Portal stylesheet something to grab on to. If you really
|
* to grab on to. If you really want to go your own way, implement Portlet instead of extending
|
||||||
* want to go your own way, implement Portlet instead of extending
|
|
||||||
* AbstractPortlet.
|
* AbstractPortlet.
|
||||||
*
|
*
|
||||||
* <blockquote><pre>
|
* <blockquote><pre>
|
||||||
|
|
@ -75,16 +73,17 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
* </bebop:portlet>
|
* </bebop:portlet>
|
||||||
* </pre></blockquote>
|
* </pre></blockquote>
|
||||||
*
|
*
|
||||||
* @param pageState the PageState representing the current
|
* @param pageState The PageState representing the current request. Must not be
|
||||||
* request
|
* <code>null</code>.
|
||||||
* @param parentElement the Element to which to attach the XML
|
* @param parentElement The Element to which to attach the XML that this method produces. Must
|
||||||
* that this method produces
|
* not be <code>null</code>.
|
||||||
* @pre pageState != null
|
*
|
||||||
* @pre parentElement != null
|
*
|
||||||
*/
|
*/
|
||||||
public final void generateXML(PageState pageState,
|
@Override
|
||||||
Element parentElement) {
|
public final void generateXML(final PageState pageState,
|
||||||
Element portletElement = parentElement.newChildElement(BEBOP_PORTLET,
|
final Element parentElement) {
|
||||||
|
final Element portletElement = parentElement.newChildElement(BEBOP_PORTLET,
|
||||||
Component.BEBOP_XML_NS);
|
Component.BEBOP_XML_NS);
|
||||||
portletElement.addAttribute("title", getTitle());
|
portletElement.addAttribute("title", getTitle());
|
||||||
portletElement.addAttribute("cellNumber",
|
portletElement.addAttribute("cellNumber",
|
||||||
|
|
@ -97,43 +96,40 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Generates XML for the body (not the frame) of this Portlet. It's
|
* Generates XML for the body (not the frame) of this Portlet. It's the primary intention of
|
||||||
* the primary intention of this class that programmers override
|
* this class that programmers override this particular method.
|
||||||
* this particular method.
|
|
||||||
*
|
*
|
||||||
* @param pageState the PageState representing the current request
|
* @param pageState The PageState representing the current request. Must not be
|
||||||
* @param parentElement the Element to which to attach the XML
|
* <code>null</code>.
|
||||||
* that this method produces
|
* @param parentElement The Element to which to attach the XML that this method produces. Must
|
||||||
* @pre pageState != null
|
* not be <code>null</code>.
|
||||||
* @pre parentElement != null
|
|
||||||
*/
|
*/
|
||||||
protected abstract void generateBodyXML(PageState pageState,
|
protected abstract void generateBodyXML(PageState pageState,
|
||||||
Element parentElement);
|
Element parentElement);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the cell number of this portlet. A cell is one of several
|
* Gets the cell number of this portlet. A cell is one of several distinct regions, often
|
||||||
* distinct regions, often columns, in a portal's layout.
|
* columns, in a portal's layout.
|
||||||
*
|
*
|
||||||
* @return the cell number of this portlet, or 1 if
|
* @return The cell number of this portlet, or 1 if the cell number is not set.
|
||||||
* the cell number is not set.
|
|
||||||
*/
|
*/
|
||||||
public final int getCellNumber() {
|
public final int getCellNumber() {
|
||||||
return m_cellNumber;
|
return m_cellNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the cell number of this portlet. A cell is one of several
|
* Sets the cell number of this portlet. A cell is one of several distinct regions, often
|
||||||
* distinct regions, often columns, in a portal's layout.
|
* columns, in a portal's layout.
|
||||||
*
|
*
|
||||||
* @param cellNumber the cell number of this portlet
|
* @param cellNumber The cell number of this portlet
|
||||||
*/
|
*/
|
||||||
public final void setCellNumber(int cellNumber) {
|
public final void setCellNumber(final int cellNumber) {
|
||||||
m_cellNumber = cellNumber;
|
m_cellNumber = cellNumber;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the sort key of this portlet. The sort key is used to
|
* Gets the sort key of this portlet. The sort key is used to order the portlets in a given
|
||||||
* order the portlets in a given cell.
|
* cell.
|
||||||
*
|
*
|
||||||
* @return the sort key of this portlet, or 0 if the sort key is not set.
|
* @return the sort key of this portlet, or 0 if the sort key is not set.
|
||||||
*/
|
*/
|
||||||
|
|
@ -142,22 +138,21 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the sort key of this portlet. The sort key is used to
|
* Sets the sort key of this portlet. The sort key is used to order the portlets in a given
|
||||||
* order the portlets in a given cell.
|
* cell.
|
||||||
*
|
*
|
||||||
* @param sortKey the sort key of this portlet
|
* @param sortKey the sort key of this portlet
|
||||||
*/
|
*/
|
||||||
public final void setSortKey(int sortKey) {
|
public final void setSortKey(final int sortKey) {
|
||||||
m_sortKey = sortKey;
|
m_sortKey = sortKey;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the profile of this portlet, which describes the form
|
* Gets the profile of this portlet, which describes the form factor of this portlet. There are
|
||||||
* factor of this portlet. There are two profiles, wide
|
* two profiles, wide and narrow.
|
||||||
* and narrow.
|
*
|
||||||
|
* @return the profile of this portlet, or an empty string if the profile is not set.
|
||||||
*
|
*
|
||||||
* @return the profile of this portlet, or an empty string if the
|
|
||||||
* profile is not set.
|
|
||||||
* @post return != null
|
* @post return != null
|
||||||
*/
|
*/
|
||||||
public final String getProfile() {
|
public final String getProfile() {
|
||||||
|
|
@ -165,24 +160,23 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Sets the profile of this portlet. Profile describes the form
|
* Sets the profile of this portlet. Profile describes the form factor of this portlet. There
|
||||||
* factor of this portlet. There are two profiles, wide
|
* are two profiles, wide and narrow. Use {@link #WIDE_PROFILE} or {@link
|
||||||
* and narrow. Use {@link #WIDE_PROFILE} or {@link
|
|
||||||
* #NARROW_PROFILE} to specify the profile type.
|
* #NARROW_PROFILE} to specify the profile type.
|
||||||
*
|
*
|
||||||
* @param profile the profile of this portlet
|
* @param profile The profile of this portlet. Must not be <code>null</code>.
|
||||||
* @pre profile != null
|
*
|
||||||
*/
|
*/
|
||||||
public final void setProfile(String profile) {
|
public final void setProfile(final String profile) {
|
||||||
m_profile = profile;
|
m_profile = profile;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the title of this portlet.
|
* Gets the title of this portlet.
|
||||||
*
|
*
|
||||||
* @return the title of this portlet, or an empty string
|
* @return The title of this portlet, or an empty string if the title is not set. This method
|
||||||
* if the title is not set.
|
* never returns <code>null</code>.
|
||||||
* @post return != null
|
*
|
||||||
*/
|
*/
|
||||||
public final String getTitle() {
|
public final String getTitle() {
|
||||||
return m_title;
|
return m_title;
|
||||||
|
|
@ -191,10 +185,10 @@ public abstract class AbstractPortlet implements Portlet, BebopConstants {
|
||||||
/**
|
/**
|
||||||
* Sets the title of this portlet.
|
* Sets the title of this portlet.
|
||||||
*
|
*
|
||||||
* @return the title of this portlet.
|
* @param title The (new) title of this portlet.
|
||||||
* @post return != null
|
|
||||||
*/
|
*/
|
||||||
public final void setTitle(String title) {
|
public final void setTitle(final String title) {
|
||||||
m_title = title;
|
m_title = title;
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -99,7 +99,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
* @param child label component, text, image, etc.
|
* @param child label component, text, image, etc.
|
||||||
* @param url
|
* @param url
|
||||||
*/
|
*/
|
||||||
public BaseLink(Component child, String url) {
|
public BaseLink(final Component child, final String url) {
|
||||||
super();
|
super();
|
||||||
m_url = url;
|
m_url = url;
|
||||||
m_child = child;
|
m_child = child;
|
||||||
|
|
@ -111,7 +111,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
* @param label as text
|
* @param label as text
|
||||||
* @param url
|
* @param url
|
||||||
*/
|
*/
|
||||||
public BaseLink(String label, String url) {
|
public BaseLink(final String label, final String url) {
|
||||||
this(new Label(label), url);
|
this(new Label(label), url);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -119,12 +119,12 @@ public abstract class BaseLink extends TextStylable
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param child
|
* @param child
|
||||||
* @param l
|
* @param listener
|
||||||
*/
|
*/
|
||||||
public BaseLink(Component child, PrintListener l) {
|
public BaseLink(final Component child, final PrintListener listener) {
|
||||||
this(child, "");
|
this(child, "");
|
||||||
try {
|
try {
|
||||||
addPrintListener(l);
|
addPrintListener(listener);
|
||||||
} catch (TooManyListenersException e) {
|
} catch (TooManyListenersException e) {
|
||||||
// Can't happen
|
// Can't happen
|
||||||
throw new UncheckedWrapperException("Too many listeners: " + e.getMessage(), e);
|
throw new UncheckedWrapperException("Too many listeners: " + e.getMessage(), e);
|
||||||
|
|
@ -135,24 +135,24 @@ public abstract class BaseLink extends TextStylable
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param label
|
* @param label
|
||||||
* @param l
|
* @param listener
|
||||||
*/
|
*/
|
||||||
public BaseLink(String label, PrintListener l) {
|
public BaseLink(final String label, final PrintListener listener) {
|
||||||
this(new Label(label), l);
|
this(new Label(label), listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructor.
|
* Constructor.
|
||||||
*
|
*
|
||||||
* @param l
|
* @param listener
|
||||||
*/
|
*/
|
||||||
public BaseLink(PrintListener l) {
|
public BaseLink(final PrintListener listener) {
|
||||||
this("", l);
|
this("", listener);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Object clone() throws CloneNotSupportedException {
|
public Object clone() throws CloneNotSupportedException {
|
||||||
BaseLink result = (BaseLink) super.clone();
|
final BaseLink result = (BaseLink) super.clone();
|
||||||
result.m_printListener = null;
|
result.m_printListener = null;
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
@ -162,12 +162,12 @@ public abstract class BaseLink extends TextStylable
|
||||||
* Since the <code>PrintListener</code> is expected to modify the
|
* Since the <code>PrintListener</code> is expected to modify the
|
||||||
* target of the <code>PrintEvent</code>, only one print listener can be
|
* target of the <code>PrintEvent</code>, only one print listener can be
|
||||||
* set for a link.
|
* set for a link.
|
||||||
* @param listener the print listener
|
* @param listener The print listener. Must not <code>null</code>.
|
||||||
* @throws IllegalArgumentException if <code>listener</code> is null.
|
* @throws IllegalArgumentException if <code>listener</code> is null.
|
||||||
* @throws TooManyListenersException if a print listener has previously been
|
* @throws TooManyListenersException if a print listener has previously been
|
||||||
* added.
|
* added.
|
||||||
* @pre listener != null */
|
*/
|
||||||
public void addPrintListener(PrintListener listener)
|
public void addPrintListener(final PrintListener listener)
|
||||||
throws IllegalStateException, TooManyListenersException {
|
throws IllegalStateException, TooManyListenersException {
|
||||||
if (listener == null) {
|
if (listener == null) {
|
||||||
throw new IllegalArgumentException("Argument listener can not be null");
|
throw new IllegalArgumentException("Argument listener can not be null");
|
||||||
|
|
@ -183,14 +183,12 @@ public abstract class BaseLink extends TextStylable
|
||||||
* <code>listener</code> is not the listener that was added with {@link #addPrintListener
|
* <code>listener</code> is not the listener that was added with {@link #addPrintListener
|
||||||
* addPrintListener}, an IllegalArgumentException will be thrown.
|
* addPrintListener}, an IllegalArgumentException will be thrown.
|
||||||
*
|
*
|
||||||
* @param listener the listener that was previously added with
|
* @param listener The listener that was previously added with <code>addPrintListener</code>.
|
||||||
* <code>addPrintListener</code>
|
* Must not be <code>null</code>.
|
||||||
* @throws IllegalArgumentException if
|
* @throws IllegalArgumentException if <code>listener</code> is not the currently registered
|
||||||
* <code>listener</code> is not the currently registered print listener or
|
* print listener or is <code>null</code>.
|
||||||
* is
|
|
||||||
* <code>null</code>. @pre listener != null
|
|
||||||
*/
|
*/
|
||||||
public void removePrintListener(PrintListener listener)
|
public void removePrintListener(final PrintListener listener)
|
||||||
throws IllegalArgumentException {
|
throws IllegalArgumentException {
|
||||||
if (listener == null) {
|
if (listener == null) {
|
||||||
throw new IllegalArgumentException("listener can not be null");
|
throw new IllegalArgumentException("listener can not be null");
|
||||||
|
|
@ -201,7 +199,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
m_printListener = null;
|
m_printListener = null;
|
||||||
}
|
}
|
||||||
|
|
||||||
protected BaseLink firePrintEvent(PageState state) {
|
protected BaseLink firePrintEvent(final PageState state) {
|
||||||
BaseLink l = this;
|
BaseLink l = this;
|
||||||
if (m_printListener != null) {
|
if (m_printListener != null) {
|
||||||
try {
|
try {
|
||||||
|
|
@ -219,7 +217,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
return m_child;
|
return m_child;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void setChild(Component child) {
|
public void setChild(final Component child) {
|
||||||
Assert.isUnlocked(this);
|
Assert.isUnlocked(this);
|
||||||
m_child = child;
|
m_child = child;
|
||||||
}
|
}
|
||||||
|
|
@ -228,7 +226,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
return m_url;
|
return m_url;
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setTarget(String url) {
|
public final void setTarget(final String url) {
|
||||||
Assert.isUnlocked(this);
|
Assert.isUnlocked(this);
|
||||||
|
|
||||||
m_url = url;
|
m_url = url;
|
||||||
|
|
@ -237,14 +235,14 @@ public abstract class BaseLink extends TextStylable
|
||||||
/**
|
/**
|
||||||
* Sets the type of link this link represents.
|
* Sets the type of link this link represents.
|
||||||
*
|
*
|
||||||
* @param t the type of link
|
* @param type the type of link
|
||||||
*/
|
*/
|
||||||
protected void setTypeAttr(String t) {
|
protected void setTypeAttr(final String type) {
|
||||||
Assert.isUnlocked(this);
|
Assert.isUnlocked(this);
|
||||||
setAttribute(TYPE_ATTR, t);
|
setAttribute(TYPE_ATTR, type);
|
||||||
}
|
}
|
||||||
|
|
||||||
protected abstract void generateURL(PageState state, Element parent);
|
protected abstract void generateURL(final PageState state, final Element parent);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* <p>Generates a DOM fragment:
|
* <p>Generates a DOM fragment:
|
||||||
|
|
@ -253,17 +251,21 @@ public abstract class BaseLink extends TextStylable
|
||||||
* </pre>
|
* </pre>
|
||||||
* The <code>href</code> attribute contains the target the link
|
* The <code>href</code> attribute contains the target the link
|
||||||
* should point to. The <code>type</code> attribute is used to
|
* should point to. The <code>type</code> attribute is used to
|
||||||
* give more finegrained control over which kind of link this element
|
* give more fine grained control over which kind of link this element
|
||||||
* represents. The types are <code>link</code> for a
|
* represents. The types are <code>link</code> for a
|
||||||
* <code>Link</code>, <code>control</code> for a {@link ControlLink},
|
* <code>Link</code>, <code>control</code> for a {@link ControlLink},
|
||||||
* and <code>toggle</code> for a {@link ToggleLink}. There may be
|
* and <code>toggle</code> for a {@link ToggleLink}. There may be
|
||||||
* additional attributes depending on what type of link this link
|
* additional attributes depending on what type of link this link
|
||||||
* represents.
|
* represents.
|
||||||
|
*
|
||||||
|
* @param state The current {@link PageState}.
|
||||||
|
* @param parent The XML element to attach the XML to.
|
||||||
|
*
|
||||||
* @see ControlLink#generateXML
|
* @see ControlLink#generateXML
|
||||||
* @see ToggleLink#generateXML
|
* @see ToggleLink#generateXML
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public void generateXML(PageState state, Element parent) {
|
public void generateXML(final PageState state, final Element parent) {
|
||||||
if (isVisible(state)) {
|
if (isVisible(state)) {
|
||||||
BaseLink target = firePrintEvent(state);
|
BaseLink target = firePrintEvent(state);
|
||||||
Element link = parent.newChildElement("bebop:link", BEBOP_XML_NS);
|
Element link = parent.newChildElement("bebop:link", BEBOP_XML_NS);
|
||||||
|
|
@ -278,7 +280,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private String getAbsoluteUrl(PageState ps, String sUrl) {
|
private String getAbsoluteUrl(final PageState state, final String sUrl) {
|
||||||
String sReturn = "";
|
String sReturn = "";
|
||||||
|
|
||||||
if ((sUrl.indexOf(":") != -1) || sUrl.indexOf("/") == 0) {
|
if ((sUrl.indexOf(":") != -1) || sUrl.indexOf("/") == 0) {
|
||||||
|
|
@ -290,7 +292,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
//get the current URL
|
//get the current URL
|
||||||
String sThisURL = "";
|
String sThisURL = "";
|
||||||
try {
|
try {
|
||||||
sThisURL = ps.stateAsURL();
|
sThisURL = state.stateAsURL();
|
||||||
} catch (java.io.IOException ioe) {
|
} catch (java.io.IOException ioe) {
|
||||||
//ignore
|
//ignore
|
||||||
}
|
}
|
||||||
|
|
@ -308,18 +310,23 @@ public abstract class BaseLink extends TextStylable
|
||||||
return sReturn;
|
return sReturn;
|
||||||
}
|
}
|
||||||
|
|
||||||
//sets up no-JavaScript fallback HTML
|
/**
|
||||||
protected void setupNoJavascriptURL(PageState ps, Element link) {
|
* Sets up no-JavaScript fallback HTML
|
||||||
|
*
|
||||||
|
* @param state The current {@link PageState}.
|
||||||
|
* @param link The link element.
|
||||||
|
*/
|
||||||
|
protected void setupNoJavascriptURL(final PageState state, final Element link) {
|
||||||
String sURL = null;
|
String sURL = null;
|
||||||
|
|
||||||
if (m_sConfirmMsg.length() > 0
|
if (m_sConfirmMsg.length() > 0
|
||||||
|| (m_confirmMsg != null && m_confirmMsg.localize().toString().length() > 0)) {
|
|| (m_confirmMsg != null && m_confirmMsg.localize().toString().length() > 0)) {
|
||||||
|
|
||||||
//if we want the confirm link, create the link
|
//if we want the confirm link, create the link
|
||||||
String sOkUrl = getAbsoluteUrl(ps, link.getAttribute(HREF));
|
String sOkUrl = getAbsoluteUrl(state, link.getAttribute(HREF));
|
||||||
String sCancelUrl = null;
|
String sCancelUrl = null;
|
||||||
try {
|
try {
|
||||||
sCancelUrl = ps.stateAsURL();
|
sCancelUrl = state.stateAsURL();
|
||||||
} catch (java.io.IOException e) {
|
} catch (java.io.IOException e) {
|
||||||
Assert.fail("Could not get current page state as URL");
|
Assert.fail("Could not get current page state as URL");
|
||||||
}
|
}
|
||||||
|
|
@ -349,10 +356,10 @@ public abstract class BaseLink extends TextStylable
|
||||||
* more attributes than the ones {@link #generateXML generateXML}
|
* more attributes than the ones {@link #generateXML generateXML}
|
||||||
* produces by default.
|
* produces by default.
|
||||||
*
|
*
|
||||||
* @param state the current request
|
* @param state The current request
|
||||||
* @param link the XML element representing this link
|
* @param link The XML element representing this link
|
||||||
*/
|
*/
|
||||||
protected void generateExtraXMLAttributes(PageState state, Element link) {
|
protected void generateExtraXMLAttributes(final PageState state, final Element link) {
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -360,12 +367,12 @@ public abstract class BaseLink extends TextStylable
|
||||||
* protection for this link</em>. Not for confirmation messages; Should call
|
* protection for this link</em>. Not for confirmation messages; Should call
|
||||||
* setConfirmation for that.
|
* setConfirmation for that.
|
||||||
*
|
*
|
||||||
* @param value
|
* @param value The confirmation link. To not use the value {@code return confirm(} with this
|
||||||
* @pre value.toLowerCase().startsWith("return confirm(") == false
|
* method.
|
||||||
*
|
*
|
||||||
* @see #setConfirmation
|
* @see #setConfirmation
|
||||||
*/
|
*/
|
||||||
public void setOnClick(String value) {
|
public void setOnClick(final String value) {
|
||||||
//should not use this method to set confirmation messages--should
|
//should not use this method to set confirmation messages--should
|
||||||
//use setConfirmation() instead, or else the javascript will break
|
//use setConfirmation() instead, or else the javascript will break
|
||||||
if (value != null) {
|
if (value != null) {
|
||||||
|
|
@ -389,12 +396,10 @@ public abstract class BaseLink extends TextStylable
|
||||||
* Subsequent calls to setOnClick will undo the effect of this method.
|
* Subsequent calls to setOnClick will undo the effect of this method.
|
||||||
*
|
*
|
||||||
* @param message the confirmation message presented to the user. This
|
* @param message the confirmation message presented to the user. This
|
||||||
* message cannot have an apostrophe or back slash
|
* message cannot have an apostrophe or back slash.
|
||||||
*
|
|
||||||
* @pre message.indexOf("'") == -1 && message.indexOf("\\") == -1
|
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
public void setConfirmation(String message) {
|
public void setConfirmation(final String message) {
|
||||||
//make sure that the message doesn't have any apostrophe's
|
//make sure that the message doesn't have any apostrophe's
|
||||||
//or back slashes
|
//or back slashes
|
||||||
|
|
||||||
|
|
@ -411,7 +416,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
* Set a GlobalizedMessage as confirmation message
|
* Set a GlobalizedMessage as confirmation message
|
||||||
* @param msg
|
* @param msg
|
||||||
*/
|
*/
|
||||||
public void setConfirmation(GlobalizedMessage msg) {
|
public void setConfirmation(final GlobalizedMessage msg) {
|
||||||
m_confirmMsg = msg;
|
m_confirmMsg = msg;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -421,7 +426,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
* @param state PageState
|
* @param state PageState
|
||||||
* @param link Parent element
|
* @param link Parent element
|
||||||
*/
|
*/
|
||||||
private void exportConfirmAttributes(PageState state, Element link) {
|
private void exportConfirmAttributes(final PageState state, final Element link) {
|
||||||
|
|
||||||
// If a confirmation message is set
|
// If a confirmation message is set
|
||||||
if (m_sConfirmMsg.length() > 0 || m_confirmMsg != null) {
|
if (m_sConfirmMsg.length() > 0 || m_confirmMsg != null) {
|
||||||
|
|
@ -445,7 +450,7 @@ public abstract class BaseLink extends TextStylable
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
public final void setNoJavascriptTarget(String sURL) {
|
public final void setNoJavascriptTarget(final String sURL) {
|
||||||
Assert.isUnlocked(this);
|
Assert.isUnlocked(this);
|
||||||
m_noJavascriptURL = sURL;
|
m_noJavascriptURL = sURL;
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -127,7 +127,6 @@ public class PooledConnectionSource implements ConnectionSource {
|
||||||
* cause problems (memory etc.) with PostgreSQL.
|
* cause problems (memory etc.) with PostgreSQL.
|
||||||
*/
|
*/
|
||||||
try {
|
try {
|
||||||
|
|
||||||
result.setAutoCommit(false);
|
result.setAutoCommit(false);
|
||||||
} catch (SQLException ex) {
|
} catch (SQLException ex) {
|
||||||
s_log.warn("Failed to set autocommit to false");
|
s_log.warn("Failed to set autocommit to false");
|
||||||
|
|
|
||||||
|
|
@ -16,7 +16,6 @@
|
||||||
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||||
*
|
*
|
||||||
*/
|
*/
|
||||||
|
|
||||||
package com.arsdigita.web;
|
package com.arsdigita.web;
|
||||||
|
|
||||||
import com.arsdigita.runtime.CCMResourceManager;
|
import com.arsdigita.runtime.CCMResourceManager;
|
||||||
|
|
@ -35,14 +34,13 @@ import org.apache.log4j.LogManager;
|
||||||
import org.apache.log4j.PropertyConfigurator;
|
import org.apache.log4j.PropertyConfigurator;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Web application lifecycle listener, used to perform central initialization
|
* Web application lifecycle listener, used to perform central initialisation tasks at CCM startup
|
||||||
* tasks at CCM startup in a servlet container / web application server,
|
* in a Servlet container / web application server, expecially setting the runtime context (file
|
||||||
* expecially setting the runtime context (file locations) and (in the future)
|
* locations) and (in the future) the database connection.
|
||||||
* the database connection.
|
|
||||||
*
|
*
|
||||||
* The methods of this classes are by definition only invoked by the servlet
|
* The methods of this classes are by definition only invoked by the Servlet container / web
|
||||||
* container / web application server, not by any servlet or java class of
|
* application server, not by any Servlet or java class of the application itself! Invocation is
|
||||||
* the application itself! Invokation is managed by the deployment descriptor.
|
* managed by the deployment descriptor.
|
||||||
*
|
*
|
||||||
* Note! Don't forget to configure it in web.xml deployment descriptor!
|
* Note! Don't forget to configure it in web.xml deployment descriptor!
|
||||||
* <listener>
|
* <listener>
|
||||||
|
|
@ -50,47 +48,45 @@ import org.apache.log4j.PropertyConfigurator;
|
||||||
* com.arsdigita.runtime.CCMApplicationContextListener
|
* com.arsdigita.runtime.CCMApplicationContextListener
|
||||||
* </listener-class>
|
* </listener-class>
|
||||||
* </listener>
|
* </listener>
|
||||||
* According to the 2.3 specification these tags must be placed after the filter
|
* According to the 2.3 specification these tags must be placed after the filter tags and before the
|
||||||
* tags and before the servlet tags!
|
* Servlet tags!
|
||||||
*
|
*
|
||||||
* @author pboy
|
* @author pboy
|
||||||
* @version $Id: $
|
* @version $Id: $
|
||||||
*/
|
*/
|
||||||
|
|
||||||
public class CCMApplicationContextListener implements ServletContextListener {
|
public class CCMApplicationContextListener implements ServletContextListener {
|
||||||
|
|
||||||
private static Logger s_log = Logger.getLogger(CCMApplicationContextListener.class);
|
private static Logger s_log = Logger.getLogger(CCMApplicationContextListener.class);
|
||||||
|
|
||||||
private static Runtime runtime ;
|
private static Runtime runtime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Used to initialize classes at startup of the application, most of which
|
* Used to initialise classes at startup of the application, most of which needs to be plain
|
||||||
* needs to be plain java objects (because they are also used by command
|
* java objects (because they are also used by command line interface - installation,
|
||||||
* line interface - installation, configuration, maintenance).
|
* configuration, maintenance).
|
||||||
*
|
*
|
||||||
* Here we provide one of the two supported ways to bring up the CCM
|
* Here we provide one of the two supported ways to bring up the CCM application. This handles
|
||||||
* application. This handles the startup inside a servlet container. The
|
* the startup inside a Servlet container. The command line utilities handle the startup there.
|
||||||
* command line utilities handle the startup there. Both initialize the same
|
* Both initialise the same set of classes needed for CCM operations
|
||||||
* set of classes needed for CCM operations
|
|
||||||
*
|
*
|
||||||
* @param applicationStartEvent
|
* @param applicationStartEvent
|
||||||
*/
|
*/
|
||||||
|
@Override
|
||||||
public void contextInitialized(ServletContextEvent applicationStartEvent) {
|
public void contextInitialized(ServletContextEvent applicationStartEvent) {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Fully qualified path name to application base in the servers file system
|
* Fully qualified path name to application base in the servers file system
|
||||||
*/
|
*/
|
||||||
String m_appBase ;
|
String m_appBase;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Log4J config file name including path relative to application base
|
* Log4J config file name including path relative to application base
|
||||||
*/
|
*/
|
||||||
String m_log4j ;
|
String m_log4j;
|
||||||
|
|
||||||
// s_log.setLevel( INFO );
|
// s_log.setLevel( INFO );
|
||||||
s_log.info("Starting CCM Application.");
|
s_log.info("Starting CCM Application.");
|
||||||
|
|
||||||
|
|
||||||
ServletContext sc = applicationStartEvent.getServletContext();
|
ServletContext sc = applicationStartEvent.getServletContext();
|
||||||
m_appBase = sc.getRealPath("/");
|
m_appBase = sc.getRealPath("/");
|
||||||
|
|
||||||
|
|
@ -98,12 +94,10 @@ public class CCMApplicationContextListener implements ServletContextListener {
|
||||||
m_log4j = sc.getInitParameter("log4j-conf-file");
|
m_log4j = sc.getInitParameter("log4j-conf-file");
|
||||||
s_log.info("Logging context parameter is: " + m_log4j);
|
s_log.info("Logging context parameter is: " + m_log4j);
|
||||||
// if the log4j-init-file is not set, then no point in trying
|
// if the log4j-init-file is not set, then no point in trying
|
||||||
if(m_log4j != null) {
|
if (m_log4j != null) {
|
||||||
PropertyConfigurator.configure(m_appBase+m_log4j);
|
PropertyConfigurator.configure(m_appBase + m_log4j);
|
||||||
}
|
} else {
|
||||||
else {
|
PropertyConfigurator.configure(m_appBase + "WEB-INF/conf/log4j.properties");
|
||||||
PropertyConfigurator.configure(m_appBase+
|
|
||||||
"WEB-INF/conf/log4j.properties");
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// The classes ResourceManager and CCMResourceManager handle a
|
// The classes ResourceManager and CCMResourceManager handle a
|
||||||
|
|
@ -111,7 +105,7 @@ public class CCMApplicationContextListener implements ServletContextListener {
|
||||||
// ToDo: integrate both into a single class, e.g. CCMResourceManager
|
// ToDo: integrate both into a single class, e.g. CCMResourceManager
|
||||||
// to simplify and clean-up of the code!
|
// to simplify and clean-up of the code!
|
||||||
CCMResourceManager.setBaseDirectory(m_appBase);
|
CCMResourceManager.setBaseDirectory(m_appBase);
|
||||||
s_log.info("BaseDir set to: " + m_appBase );
|
s_log.info("BaseDir set to: " + m_appBase);
|
||||||
|
|
||||||
// Setup the XML factory configuration
|
// Setup the XML factory configuration
|
||||||
FactoriesSetup.setupFactories();
|
FactoriesSetup.setupFactories();
|
||||||
|
|
@ -120,10 +114,9 @@ public class CCMApplicationContextListener implements ServletContextListener {
|
||||||
// domain coupling machinary
|
// domain coupling machinary
|
||||||
// Runtime runtime = new Runtime();
|
// Runtime runtime = new Runtime();
|
||||||
runtime = new Runtime();
|
runtime = new Runtime();
|
||||||
if ( !runtime.hasRun() ) {
|
if (!runtime.hasRun()) {
|
||||||
runtime.startup( new ContextInitEvent(applicationStartEvent));
|
runtime.startup(new ContextInitEvent(applicationStartEvent));
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -136,12 +129,13 @@ public class CCMApplicationContextListener implements ServletContextListener {
|
||||||
|
|
||||||
// Central shutdown procedure, used to clean up any runtime resources.
|
// Central shutdown procedure, used to clean up any runtime resources.
|
||||||
// Runtime runtime = new Runtime();
|
// Runtime runtime = new Runtime();
|
||||||
if ( runtime.hasRun() ) {
|
if (runtime.hasRun()) {
|
||||||
s_log.info("hasRun() returned true, shutdown procedure started.");
|
s_log.info("hasRun() returned true, shutdown procedure started.");
|
||||||
runtime.shutdown( new ContextCloseEvent(applicationEndEvent));
|
runtime.shutdown(new ContextCloseEvent(applicationEndEvent));
|
||||||
}
|
}
|
||||||
|
|
||||||
s_log.info("CCM Application shut down.");
|
s_log.info("CCM Application shut down.");
|
||||||
LogManager.shutdown();
|
LogManager.shutdown();
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
@ -213,99 +213,99 @@ div#bebopTabbedPane span:before {
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.browse:before {
|
div#bebopTabbedPane span.browse:before {
|
||||||
content: url('../../../images/cms/browse.png');
|
content: url('../../images/cms/browse.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.browse.current:before {
|
div#bebopTabbedPane span.browse.current:before {
|
||||||
content: url('../../../images/cms/browse-current.png');
|
content: url('../../images/cms/browse-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.search:before {
|
div#bebopTabbedPane span.search:before {
|
||||||
content: url('../../../images/cms/search.png');
|
content: url('../../images/cms/search.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.search.current:before {
|
div#bebopTabbedPane span.search.current:before {
|
||||||
content: url('../../../images/cms/search-current.png');
|
content: url('../../images/cms/search-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.images:before {
|
div#bebopTabbedPane span.images:before {
|
||||||
content: url('../../../images/cms/images.png');
|
content: url('../../images/cms/images.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.images.current:before {
|
div#bebopTabbedPane span.images.current:before {
|
||||||
content: url('../../../images/cms/images-current.png');
|
content: url('../../images/cms/images-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.roles:before {
|
div#bebopTabbedPane span.roles:before {
|
||||||
content: url('../../../images/cms/roles.png');
|
content: url('../../images/cms/roles.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.roles.current:before {
|
div#bebopTabbedPane span.roles.current:before {
|
||||||
content: url('../../../images/cms/roles-current.png');
|
content: url('../../images/cms/roles-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.workflows:before {
|
div#bebopTabbedPane span.workflows:before {
|
||||||
content: url('../../../images/cms/workflows.png');
|
content: url('../../images/cms/workflows.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.workflows.current:before {
|
div#bebopTabbedPane span.workflows.current:before {
|
||||||
content: url('../../../images/cms/workflows-current.png');
|
content: url('../../images/cms/workflows-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.lifecycles:before {
|
div#bebopTabbedPane span.lifecycles:before {
|
||||||
content: url('../../../images/cms/lifecycles.png');
|
content: url('../../images/cms/lifecycles.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.lifecycles.current:before {
|
div#bebopTabbedPane span.lifecycles.current:before {
|
||||||
content: url('../../../images/cms/lifecycles-current.png');
|
content: url('../../images/cms/lifecycles-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.categories:before {
|
div#bebopTabbedPane span.categories:before {
|
||||||
content: url('../../../images/cms/categories.png');
|
content: url('../../images/cms/categories.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.categories.current:before {
|
div#bebopTabbedPane span.categories.current:before {
|
||||||
content: url('../../../images/cms/categories-current.png');
|
content: url('../../images/cms/categories-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.content_types:before {
|
div#bebopTabbedPane span.content_types:before {
|
||||||
content: url('../../../images/cms/contenttypes.png');
|
content: url('../../images/cms/contenttypes.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.content_types.current:before {
|
div#bebopTabbedPane span.content_types.current:before {
|
||||||
content: url('../../../images/cms/contenttypes-current.png');
|
content: url('../../images/cms/contenttypes-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.user_admin:before {
|
div#bebopTabbedPane span.user_admin:before {
|
||||||
content: url('../../../images/cms/admin.png');
|
content: url('../../images/cms/admin.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.user_admin.current:before {
|
div#bebopTabbedPane span.user_admin.current:before {
|
||||||
content: url('../../../images/cms/admin-current.png');
|
content: url('../../images/cms/admin-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.cse:before {
|
div#bebopTabbedPane span.cse:before {
|
||||||
content: url('../../../images/cms/cse.png');
|
content: url('../../images/cms/cse.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.cse.current:before {
|
div#bebopTabbedPane span.cse.current:before {
|
||||||
content: url('../../../images/cms/cse-current.png');
|
content: url('../../images/cms/cse-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.reports:before {
|
div#bebopTabbedPane span.reports:before {
|
||||||
content: url('../../../images/cms/reports.png');
|
content: url('../../images/cms/reports.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.reports.current:before {
|
div#bebopTabbedPane span.reports.current:before {
|
||||||
content: url('../../../images/cms/reports-current.png');
|
content: url('../../images/cms/reports-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.taskssections:before {
|
div#bebopTabbedPane span.taskssections:before {
|
||||||
content: url('../../../images/cms/taskssections.png');
|
content: url('../../images/cms/taskssections.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
div#bebopTabbedPane span.taskssections.current:before {
|
div#bebopTabbedPane span.taskssections.current:before {
|
||||||
content: url('../../../images/cms/taskssections-current.png');
|
content: url('../../images/cms/taskssections-current.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
/*------Bebop ContextBar----- */
|
/*------Bebop ContextBar----- */
|
||||||
|
|
@ -341,7 +341,7 @@ div.bebopContextBar span.bebopContextBarSeperator {
|
||||||
margin-left: 5px;
|
margin-left: 5px;
|
||||||
border-left: 1px solid #a4a4a4;
|
border-left: 1px solid #a4a4a4;
|
||||||
color: transparent;
|
color: transparent;
|
||||||
background-image:url('../../../images/scrumb.png');
|
background-image:url('../../images/scrumb.png');
|
||||||
background-repeat:no-repeat;
|
background-repeat:no-repeat;
|
||||||
background-position: center;
|
background-position: center;
|
||||||
}
|
}
|
||||||
|
|
@ -841,23 +841,23 @@ div.cmsGlobalNavigation > span :before {
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cmsGlobalNavigationContentCenter :before {
|
span.cmsGlobalNavigationContentCenter :before {
|
||||||
content:url('../../../images/cms/contentcenter.png');
|
content:url('../../images/cms/contentcenter.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cmsGlobalNavigationWorkspace :before {
|
span.cmsGlobalNavigationWorkspace :before {
|
||||||
content:url('../../../images/cms/home.png');
|
content:url('../../images/cms/home.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cmsGlobalNavigationSignOut :before, span.logout :before {
|
span.cmsGlobalNavigationSignOut :before, span.logout :before {
|
||||||
content:url('../../../images/cms/lock.png');
|
content:url('../../images/cms/lock.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cmsGlobalNavigationHelp :before {
|
span.cmsGlobalNavigationHelp :before {
|
||||||
content:url('../../../images/cms/help.png');
|
content:url('../../images/cms/help.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
span.cmsPreview :before {
|
span.cmsPreview :before {
|
||||||
content:url('../../../images/cms/preview.png');
|
content:url('../../images/cms/preview.png');
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -972,7 +972,7 @@ div .bebopBody ul li{
|
||||||
}
|
}
|
||||||
|
|
||||||
h3.bebopSegmentHeader{
|
h3.bebopSegmentHeader{
|
||||||
margin-bottom:0em;
|
margin-bottom:0.15em;
|
||||||
margin-top: 15px;
|
margin-top: 15px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1020,37 +1020,37 @@ div.actionGroupSubject tr{
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action:before {
|
span.action:before {
|
||||||
content:url('../../../images/bebop/action.png');
|
content:url('../../images/bebop/action.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.add:before {
|
span.action.add:before {
|
||||||
content:url('../../../images/bebop/action-add.png');
|
content:url('../../images/bebop/action-add.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.delete:before {
|
span.action.delete:before {
|
||||||
content:url('../../../images/bebop/action-delete.png');
|
content:url('../../images/bebop/action-delete.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.edit:before {
|
span.action.edit:before {
|
||||||
content:url('../../../images/bebop/action-edit.png');
|
content:url('../../images/bebop/action-edit.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.return:before {
|
span.action.return:before {
|
||||||
content:url('../../../images/bebop/action-return.png');
|
content:url('../../images/bebop/action-return.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.up:before {
|
span.action.up:before {
|
||||||
content:url('../../../images/bebop/action-up.png');
|
content:url('../../images/bebop/action-up.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
span.action.down:before {
|
span.action.down:before {
|
||||||
content:url('../../../images/bebop/action-down.png');
|
content:url('../../images/bebop/action-down.png');
|
||||||
padding-right: 0.3em;
|
padding-right: 0.3em;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1084,10 +1084,6 @@ div.cmsSummaryBody {
|
||||||
border-bottom: 1px solid rgba(102, 102, 102, 0.5);
|
border-bottom: 1px solid rgba(102, 102, 102, 0.5);
|
||||||
}
|
}
|
||||||
|
|
||||||
div.cmsSummarySection ul {
|
|
||||||
text-indent: -2.5em;
|
|
||||||
}
|
|
||||||
|
|
||||||
span.cmsCurrentRevision {
|
span.cmsCurrentRevision {
|
||||||
font-style:italic;
|
font-style:italic;
|
||||||
font-weight:bold;
|
font-weight:bold;
|
||||||
|
|
@ -1317,6 +1313,10 @@ input#draft_search:active {
|
||||||
background-color: #ffffff;
|
background-color: #ffffff;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#left li span:before{
|
||||||
|
content: '\2794';
|
||||||
|
}
|
||||||
|
|
||||||
#center {
|
#center {
|
||||||
margin: 0.3em;
|
margin: 0.3em;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
|
|
@ -1344,10 +1344,6 @@ input#draft_search:active {
|
||||||
font-family: Verdana, Helvetica, Arial, sans-serif;
|
font-family: Verdana, Helvetica, Arial, sans-serif;
|
||||||
}
|
}
|
||||||
|
|
||||||
#content #contentInner {
|
|
||||||
margin: 1em;
|
|
||||||
}
|
|
||||||
|
|
||||||
/*momentan für die Inhalt von Content*/
|
/*momentan für die Inhalt von Content*/
|
||||||
#content br{
|
#content br{
|
||||||
margin-top: 10px;
|
margin-top: 10px;
|
||||||
|
|
|
||||||
|
|
@ -90,11 +90,9 @@
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div id="content" class="columnContent">
|
<div id="content" class="columnContent">
|
||||||
<div id="contentInner">
|
|
||||||
<showBodyColumn/>
|
<showBodyColumn/>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
|
||||||
<div class="endFloat"/>
|
<div class="endFloat"/>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -24,11 +24,11 @@
|
||||||
-->
|
-->
|
||||||
<css-files>
|
<css-files>
|
||||||
<default>
|
<default>
|
||||||
<css-file media="screen">style.css</css-file>
|
<css-file media="screen">public.css</css-file>
|
||||||
<css-file media="print">style.css</css-file>
|
<css-file media="print">public.css</css-file>
|
||||||
<!--<css-file>wysiwyg.css</css-file>-->
|
<!--<css-file>wysiwyg.css</css-file>-->
|
||||||
<iehacks media="screen">ie-hacks.css</iehacks>
|
<iehacks media="screen">public-ie-hacks.css</iehacks>
|
||||||
<iehacks media="print">ie-hacks.css</iehacks>
|
<iehacks media="print">public-ie-hacks.css</iehacks>
|
||||||
</default>
|
</default>
|
||||||
|
|
||||||
<application name="admin">
|
<application name="admin">
|
||||||
|
|
|
||||||
|
|
@ -2016,14 +2016,12 @@
|
||||||
description="Generates the combined API documentation">
|
description="Generates the combined API documentation">
|
||||||
<mkdir dir="${{javadoc.dir}}"/>
|
<mkdir dir="${{javadoc.dir}}"/>
|
||||||
<javadoc
|
<javadoc
|
||||||
maxmemory="384m"
|
maxmemory="1024M"
|
||||||
author="true"
|
author="true"
|
||||||
version="true"
|
version="true"
|
||||||
use="true"
|
use="true"
|
||||||
destdir="${{javadoc.dir}}"
|
destdir="${{javadoc.dir}}"
|
||||||
bottom="
|
bottom="<i>Copyright (c) ${{YEAR}} All Rights Reserved.</i>
|
||||||
<i>Copyright (c) ${{YEAR}} Red Hat, Inc.
|
|
||||||
Corporation. All Rights Reserved.</i>
|
|
||||||
Generated at ${{TODAY}}:${{TSTAMP}} UTC"
|
Generated at ${{TODAY}}:${{TSTAMP}} UTC"
|
||||||
windowtitle="${{app.prettyname}} API Documentation"
|
windowtitle="${{app.prettyname}} API Documentation"
|
||||||
doctitle="<h1>${{app.prettyname}} API Documentation</h1>"
|
doctitle="<h1>${{app.prettyname}} API Documentation</h1>"
|
||||||
|
|
@ -2032,7 +2030,7 @@
|
||||||
<classpath refid="server.build.classpath"/>
|
<classpath refid="server.build.classpath"/>
|
||||||
<link href="http://java.sun.com/j2se/1.4/docs/api/"/>
|
<link href="http://java.sun.com/j2se/1.4/docs/api/"/>
|
||||||
<link href="http://java.sun.com/j2ee/tutorial/api/"/>
|
<link href="http://java.sun.com/j2ee/tutorial/api/"/>
|
||||||
<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="tools-ng/devel/lib/UmlGraph.jar">
|
<!--<doclet name="org.umlgraph.doclet.UmlGraphDoc" path="tools-ng/devel/lib/UmlGraph.jar">
|
||||||
<param name="-inferrel"/>
|
<param name="-inferrel"/>
|
||||||
<param name="-inferdep"/>
|
<param name="-inferdep"/>
|
||||||
<param name="-hide" value="java.*"/>
|
<param name="-hide" value="java.*"/>
|
||||||
|
|
@ -2043,7 +2041,7 @@
|
||||||
<param name="-nodefontpackagesize" value="7"/>
|
<param name="-nodefontpackagesize" value="7"/>
|
||||||
<param name="-link" value="http://java.sun.com/j2se/1.5.0/docs/guide/javadoc/doclet/spec"/>
|
<param name="-link" value="http://java.sun.com/j2se/1.5.0/docs/guide/javadoc/doclet/spec"/>
|
||||||
<param name="-link" value="http://java.sun.com/j2se/1.5/docs/api"/>
|
<param name="-link" value="http://java.sun.com/j2se/1.5/docs/api"/>
|
||||||
</doclet>
|
</doclet>-->
|
||||||
</javadoc>
|
</javadoc>
|
||||||
</target>
|
</target>
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue