diff --git a/ccm-bundle/web/WEB-INF/systeminformation.properties b/ccm-bundle/web/WEB-INF/systeminformation.properties
new file mode 100644
index 000000000..84165fa6b
--- /dev/null
+++ b/ccm-bundle/web/WEB-INF/systeminformation.properties
@@ -0,0 +1,3 @@
+version = 2.3.x
+appname = ScientificCMS
+apphomepage = http://www.scientificcms.org
diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
index 0e89cef97..7eab946ba 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
+++ b/ccm-cms/src/com/arsdigita/cms/CMSResources.properties
@@ -1079,3 +1079,4 @@ cms.ui.authoring.parameter_not_empty=This parameter may not be empty.
cms.ui.authoring.parameter_should_be_a_valid_filename=This parameter should be a valid filename.
cms.ui.authoring.parameter_may_not_contain_periods=This parameter may not contain periods
cms.ui.cse.none=No soon expired items were found.
+cms.ui.contentcenter.task_panel_control=Experimental. Try to use it.
diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
index 7d630a43a..561ed7f6b 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
+++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_de.properties
@@ -1073,3 +1073,4 @@ cms.ui.authoring.parameter_not_empty=Dieser Parameter darf nicht leer sein.
cms.ui.authoring.parameter_should_be_a_valid_filename=Dieser Parameter muss einem g\u00fcltigen Dateinamen entsprechen.
cms.ui.authoring.parameter_may_not_contain_periods=This parameter may not contain periods
cms.ui.cse.none=Es wurde keine bald abgelaufenen Dokumente gefunden.
+cms.ui.contentcenter.task_panel_control=Experimental. Try to use it.
diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
index a749ef238..3323432fb 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
+++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_en_GB.properties
@@ -127,3 +127,4 @@ cms.ui.authoring.parameter_not_empty=This parameter may not be empty.
cms.ui.authoring.parameter_should_be_a_valid_filename=This parameter should be a valid filename.
cms.ui.authoring.parameter_may_not_contain_periods=This parameter may not contain periods
cms.ui.cse.none=
+cms.ui.contentcenter.task_panel_control=Experimental. Try to use it.
diff --git a/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties b/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
index 384defec8..6665c471f 100755
--- a/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
+++ b/ccm-cms/src/com/arsdigita/cms/CMSResources_fr.properties
@@ -601,3 +601,4 @@ cms.ui.authoring.parameter_not_empty=This parameter may not be empty.
cms.ui.authoring.parameter_should_be_a_valid_filename=This parameter should be a valid filename.
cms.ui.authoring.parameter_may_not_contain_periods=This parameter may not contain periods
cms.ui.cse.none=
+cms.ui.contentcenter.task_panel_control=Experimental. Try to use it.
diff --git a/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicItemForm.java b/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicItemForm.java
index 07fe309c8..fdc6700c1 100755
--- a/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicItemForm.java
+++ b/ccm-cms/src/com/arsdigita/cms/ui/authoring/BasicItemForm.java
@@ -358,9 +358,6 @@ public abstract class BasicItemForm extends FormSection
* @param parent the folder in which to check
* @param event the {@link FormSectionEvent} which was passed to the
* validation listener
- *
- * @throws FormProcessException if the folder already contains an item
- * with the name the use provided on the input form.
*/
public void validateNameUniqueness(Folder parent, FormSectionEvent event) {
@@ -375,8 +372,6 @@ public abstract class BasicItemForm extends FormSection
* @param parent
* @param event
* @param newName
- *
- * @throws FormProcessException
*/
public void validateNameUniqueness(Folder parent,
FormSectionEvent event,
@@ -418,7 +413,7 @@ public abstract class BasicItemForm extends FormSection
String[] itemObj=new String[1];
itemObj[0]=itemID.toString();
dq.close();
- name.addError(globalize(ERR_MSG));
+ name.addError(globalize(ERR_MSG,itemObj));
return;
}
}
diff --git a/ccm-cms/src/com/arsdigita/cms/ui/contentcenter/TasksPanel.java b/ccm-cms/src/com/arsdigita/cms/ui/contentcenter/TasksPanel.java
index 56d37ccb5..1484e98c0 100755
--- a/ccm-cms/src/com/arsdigita/cms/ui/contentcenter/TasksPanel.java
+++ b/ccm-cms/src/com/arsdigita/cms/ui/contentcenter/TasksPanel.java
@@ -133,6 +133,9 @@ public class TasksPanel extends CMSContainer {
/**
* Constructs a new task panel that shows no more than 15
* enabled tasks by default.
+ *
+ * @param typeModel
+ * @param sectionModel
**/
public TasksPanel(ACSObjectSelectionModel typeModel,
ACSObjectSelectionModel sectionModel) {
@@ -144,6 +147,8 @@ public class TasksPanel extends CMSContainer {
* enabled tasks by default.
*
* @param maxRows the maximum number of rows to show by default
+ * @param typeModel
+ * @param sectionModel
*
* @pre maxRows != null
**/
@@ -174,6 +179,7 @@ public class TasksPanel extends CMSContainer {
// A label that says "Create $content_type in $section"
m_selectorLabel = new Label(new PrintListener() {
+ @Override
public void prepare(PrintEvent e) {
PageState s = e.getPageState();
Label t = (Label) e.getTarget();
@@ -182,7 +188,7 @@ public class TasksPanel extends CMSContainer {
ContentSection sec =
(ContentSection) m_sectionSel.getSelectedObject(s);
- StringBuffer buf = new StringBuffer(
+ StringBuilder buf = new StringBuilder(
GlobalizationUtil
.globalize("cms.ui.create").localize() + " ");
buf.append(type.getLabel());
@@ -212,6 +218,7 @@ public class TasksPanel extends CMSContainer {
// When a new type is selected, show the creation UI.
// When the selection is cleared, return to section list
m_typeSel.addChangeListener(new ChangeListener() {
+ @Override
public void stateChanged(ChangeEvent e) {
PageState s = e.getPageState();
boolean isSelected = m_typeSel.isSelected(s);
@@ -225,6 +232,7 @@ public class TasksPanel extends CMSContainer {
m_viewLockLink = new ActionLink(new Label(GlobalizationUtil
.globalize("cms.ui.workflow.task.view_locked")));
m_viewLockLink.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent e) {
PageState ps = e.getPageState();
ps.setValue(m_lockFilterParam, "lock");
@@ -235,6 +243,7 @@ public class TasksPanel extends CMSContainer {
m_viewUnlockLink = new ActionLink(new Label(GlobalizationUtil
.globalize("cms.ui.workflow.task.view_unlocked")));
m_viewUnlockLink.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent e) {
PageState ps = e.getPageState();
ps.setValue(m_lockFilterParam, "unlock");
@@ -245,6 +254,7 @@ public class TasksPanel extends CMSContainer {
m_viewAllLockLink = new ActionLink(new Label(GlobalizationUtil
.globalize("cms.ui.workflow.task.view_all")));
m_viewAllLockLink.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent e) {
PageState ps = e.getPageState();
ps.setValue(m_lockFilterParam, "all");
@@ -301,6 +311,7 @@ public class TasksPanel extends CMSContainer {
p.setVisibleDefault(m_viewAllLockLink, false);
p.addActionListener(new ActionListener() {
+ @Override
public void actionPerformed(ActionEvent e) {
final PageState state = e.getPageState();
@@ -358,6 +369,9 @@ public class TasksPanel extends CMSContainer {
/**
* Returns the number of enabled tasks for the specified user.
+ *
+ * @param state
+ * @return
**/
protected int numberTasksForUser(PageState state) {
return m_taskList.size(state);
@@ -456,13 +470,18 @@ public class TasksPanel extends CMSContainer {
}
+ /**
+ *
+ */
private class TasksPaginationModelBuilder implements PaginationModelBuilder {
+ @Override
public int getTotalSize(Paginator paginator,
PageState state) {
return numberTasksForUser(state);
}
+ @Override
public boolean isVisible(PageState state) {
return numberTasksForUser(state) > m_maxRows;
}
@@ -650,6 +669,8 @@ public class TasksPanel extends CMSContainer {
}
ControlLink link = new ControlLink(container);
+ link.setHint(GlobalizationUtil
+ .globalize("cms.ui.contentcenter.task_panel_control"));
link.setClassAttr(header);
link.generateXML(state, content);
state.clearControlEvent();
diff --git a/ccm-core/src/com/arsdigita/bebop/BaseLink.java b/ccm-core/src/com/arsdigita/bebop/BaseLink.java
index c1f61735d..acc3628c0 100755
--- a/ccm-core/src/com/arsdigita/bebop/BaseLink.java
+++ b/ccm-core/src/com/arsdigita/bebop/BaseLink.java
@@ -84,10 +84,19 @@ public abstract class BaseLink extends TextStylable
private final String HREF_NO_JAVASCRIPT = "href_no_javascript";
private final String HREF = "href";
- protected String m_url;
- protected String m_noJavascriptURL = null;
+ /** Label component used to display the link. Typically a Label, may be
+ * e.g. an image as well. */
protected Component m_child;
+ /** Property to store the url the Link points to. */
+ protected String m_url;
+
+ /** Property to store informational text for the user about the Link, e.g.
+ * how to use it, or when to use it (or not to use it). */
+ private GlobalizedMessage m_hint;
+
+ protected String m_noJavascriptURL = null;
+
private PrintListener m_printListener;
private String m_sConfirmMsg = "";
@@ -150,6 +159,11 @@ public abstract class BaseLink extends TextStylable
this("", listener);
}
+ /**
+ *
+ * @return
+ * @throws CloneNotSupportedException
+ */
@Override
public Object clone() throws CloneNotSupportedException {
final BaseLink result = (BaseLink) super.clone();
@@ -199,6 +213,11 @@ public abstract class BaseLink extends TextStylable
m_printListener = null;
}
+ /**
+ *
+ * @param state
+ * @return
+ */
protected BaseLink firePrintEvent(final PageState state) {
BaseLink l = this;
if (m_printListener != null) {
@@ -213,6 +232,12 @@ public abstract class BaseLink extends TextStylable
return l;
}
+ /**
+ * Retrieves the label component used to display the Link. Typically a Label,
+ * but may be an other type, e.g. an Image, as well.
+ *
+ * @return Component used to display the Link.
+ */
public final Component getChild() {
return m_child;
}
@@ -222,6 +247,10 @@ public abstract class BaseLink extends TextStylable
m_child = child;
}
+ /**
+ *
+ * @return
+ */
public final String getTarget() {
return m_url;
}
@@ -232,6 +261,16 @@ public abstract class BaseLink extends TextStylable
m_url = url;
}
+ /**
+ * Sets a popup hint for the Link. It usually contains some explanation for
+ * the user about the link, how to use, why it is there, etc.
+ *
+ * @param hint GlobalizedMessage object with the information text.
+ */
+ public void setHint(GlobalizedMessage hint) {
+ m_hint = hint;
+ }
+
/**
* Sets the type of link this link represents.
*
@@ -242,6 +281,11 @@ public abstract class BaseLink extends TextStylable
setAttribute(TYPE_ATTR, type);
}
+ /**
+ *
+ * @param state
+ * @param parent
+ */
protected abstract void generateURL(final PageState state, final Element parent);
/**
@@ -249,14 +293,13 @@ public abstract class BaseLink extends TextStylable
*
* <bebop:link href="..." type="..." %bebopAttr;/>
*
- * The href attribute contains the target the link
- * should point to. The type attribute is used to
- * give more fine grained control over which kind of link this element
- * represents. The types are link for a
- * Link, control for a {@link ControlLink},
- * and toggle for a {@link ToggleLink}. There may be
- * additional attributes depending on what type of link this link
- * represents.
+ * The href attribute contains the target the link should point
+ * to. The type attribute is used to give more fine grained
+ * control over which kind of link this element represents. The types are
+ * link for a Link, control for a
+ * {@link ControlLink}, and toggle for a {@link ToggleLink}.
+ * There may be additional attributes depending on what type of link this
+ * link represents.
*
* @param state The current {@link PageState}.
* @param parent The XML element to attach the XML to.
@@ -270,16 +313,23 @@ public abstract class BaseLink extends TextStylable
BaseLink target = firePrintEvent(state);
Element link = parent.newChildElement("bebop:link", BEBOP_XML_NS);
target.generateURL(state, link);
- target.exportConfirmAttributes(state, link);
-
+ target.exportConfirmAttributes(state, link);
//setup the link without javascript
target.setupNoJavascriptURL(state, link);
target.exportAttributes(link);
target.generateExtraXMLAttributes(state, link);
target.getChild().generateXML(state, link);
+ if(m_hint != null) target.setAttribute("hint",
+ (String) m_hint.localize());
}
}
+ /**
+ *
+ * @param state
+ * @param sUrl
+ * @return
+ */
private String getAbsoluteUrl(final PageState state, final String sUrl) {
String sReturn = "";
@@ -397,7 +447,7 @@ public abstract class BaseLink extends TextStylable
*
* @param message the confirmation message presented to the user. This
* message cannot have an apostrophe or back slash.
- *
+ * @deprecated Use setConfirmation(final GlobalizedMessage msg) instead
*/
public void setConfirmation(final String message) {
//make sure that the message doesn't have any apostrophe's
diff --git a/ccm-core/src/com/arsdigita/bebop/SimpleComponent.java b/ccm-core/src/com/arsdigita/bebop/SimpleComponent.java
index 903804865..b886db6de 100755
--- a/ccm-core/src/com/arsdigita/bebop/SimpleComponent.java
+++ b/ccm-core/src/com/arsdigita/bebop/SimpleComponent.java
@@ -56,6 +56,7 @@ public class SimpleComponent extends Completable
* Clones a component. The clone is not locked and has its own set of
* attributes.
* @return the clone of a component.
+ * @throws java.lang.CloneNotSupportedException
* @post ! ((SimpleComponent) return).isLocked()
*/
@Override
@@ -98,6 +99,7 @@ public class SimpleComponent extends Completable
* @pre p != null
* @param p
*/
+ @Override
public void register(Page p) {
return;
}
@@ -109,9 +111,12 @@ public class SimpleComponent extends Completable
* have a connection to an HTML form). Other components can implement it
* as a no-op.
*
+ * @param f
+ * @param m
* @pre f != null
* @pre m != null
*/
+ @Override
public void register(Form f, FormModel m) {
return;
}
@@ -121,24 +126,30 @@ public class SimpleComponent extends Completable
* receiving the click.
* @param state the current page state
*/
+ @Override
public void respond(PageState state)
throws javax.servlet.ServletException { }
+ @Override
public Iterator children() {
return Collections.EMPTY_LIST.iterator();
}
/** Adds [J]DOM nodes for this component. Specifically for
* base class SimpleComponent, does nothing.
+ * @param p
*/
+ @Override
public void generateXML(PageState state, Element p) {
return;
}
+ @Override
public final boolean isLocked() {
return m_locked;
}
+ @Override
public void lock () {
if (m_attr != null) {
m_attr.lock();
@@ -163,6 +174,7 @@ public class SimpleComponent extends Completable
* Gets the class attribute.
* @return the class attribute.
*/
+ @Override
public String getClassAttr() {
return getAttribute(CLASS);
}
@@ -172,6 +184,7 @@ public class SimpleComponent extends Completable
* @param theClass a valid XML name
*/
+ @Override
public void setClassAttr(String theClass) {
Assert.isUnlocked(this);
setAttribute(CLASS, theClass);
@@ -181,6 +194,7 @@ public class SimpleComponent extends Completable
* Gets the style attribute.
* @return the style attribute.
*/
+ @Override
public String getStyleAttr() {
return getAttribute(STYLE);
}
@@ -195,6 +209,7 @@ public class SimpleComponent extends Completable
* style attribute of an HTML tag
* @see Standard Attributes
*/
+ @Override
public void setStyleAttr(String style) {
Assert.isUnlocked(this);
setAttribute(STYLE, style);
@@ -205,6 +220,7 @@ public class SimpleComponent extends Completable
* @return the id attribute.
* @see #setIdAttr(String id)
*/
+ @Override
public String getIdAttr() {
return getAttribute(ID);
}
@@ -220,6 +236,7 @@ public class SimpleComponent extends Completable
* @param id a valid XML identifier
* @see Standard Attributes
*/
+ @Override
public void setIdAttr(String id) {
Assert.isUnlocked(this);
setAttribute(ID, id);
@@ -306,8 +323,11 @@ public class SimpleComponent extends Completable
/**
* Supplies a key for parameter name mangling.
+ *
* @param key the key to mangle
+ * @return
*/
+ @Override
public Component setKey(String key) {
Assert.isUnlocked(this);
if (key.charAt(0) >= 0 && key.charAt(0) <= 9) {
@@ -321,14 +341,17 @@ public class SimpleComponent extends Completable
* Retrieves a key for parameter name mangling.
* @return a key for parameter name mangling.
*/
+ @Override
public final String getKey() {
return m_key;
}
+ @Override
public boolean isVisible(PageState s) {
return s.isVisible(this);
}
+ @Override
public void setVisible(PageState s, boolean v) {
s.setVisible(this, v);
}
diff --git a/ccm-core/src/com/arsdigita/bebop/form/Widget.java b/ccm-core/src/com/arsdigita/bebop/form/Widget.java
index 0578745da..5e837554f 100755
--- a/ccm-core/src/com/arsdigita/bebop/form/Widget.java
+++ b/ccm-core/src/com/arsdigita/bebop/form/Widget.java
@@ -80,9 +80,7 @@ public abstract class Widget extends BlockStylable implements Cloneable,
private ParameterListener m_forwardParameter = null;
private PrintListener m_printListener;
private Form m_form;
- /**
- * The optional (localized) label (or title) of this widget.
- */
+ /** The optional (localized) label (or title) of this widget. */
private GlobalizedMessage m_label;
private ValidationGuard m_guard = null;
diff --git a/ccm-ldn-aplaws/application.xml b/ccm-ldn-aplaws/application.xml
index 3f6cd67c4..bb60cfbb6 100755
--- a/ccm-ldn-aplaws/application.xml
+++ b/ccm-ldn-aplaws/application.xml
@@ -13,7 +13,7 @@
-
+
diff --git a/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties b/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
index 8625cdd86..f2aa89e81 100755
--- a/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
+++ b/ccm-ldn-aplaws/bundles/devel/cfg/integration.properties
@@ -1,6 +1,6 @@
# ##############################################################################
-# APLAWS+ devel bundle integration.properties, version 2.0.x
-# Main purpose is to ensurecompatibility among all CCM packages and to provide
+# APLAWS+ devel bundle integration.properties, version 2.2.x
+# Main purpose is to ensure compatibility among all CCM packages and to provide
# Add On packages.
# ##############################################################################
#
diff --git a/ccm-ldn-aplaws/bundles/devel/cfg/project.xml b/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
index 4de259516..1cecb19a3 100755
--- a/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
+++ b/ccm-ldn-aplaws/bundles/devel/cfg/project.xml
@@ -45,7 +45,7 @@
in class ui.PortletTypeForm -->
-
+
diff --git a/ccm-ldn-aplaws/bundles/standard/cfg/integration.properties b/ccm-ldn-aplaws/bundles/standard/cfg/integration.properties
index 9b9470ebd..6f2f39d0f 100755
--- a/ccm-ldn-aplaws/bundles/standard/cfg/integration.properties
+++ b/ccm-ldn-aplaws/bundles/standard/cfg/integration.properties
@@ -1,5 +1,5 @@
# ##############################################################################
-# APLAWS+ Standard bundle integration.properties, version 2.0.x
+# APLAWS+ Standard bundle integration.properties, version 2.2.x
# ##############################################################################
#
#
diff --git a/ccm-ldn-aplaws/bundles/standard/cfg/project.xml b/ccm-ldn-aplaws/bundles/standard/cfg/project.xml
index 78d32c16f..f334319c9 100755
--- a/ccm-ldn-aplaws/bundles/standard/cfg/project.xml
+++ b/ccm-ldn-aplaws/bundles/standard/cfg/project.xml
@@ -1,4 +1,4 @@
-^
+
@@ -8,7 +8,7 @@
ccmVersion="6.1"
name="aplaws"
prettyName="APLAWS plus Standard Spin"
- version="2-0-0"
+ version="2.2.2"
release="std-beta"
webxml="web.xml"
webapp="ROOT"
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-digest.script b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-digest.script
new file mode 100644
index 000000000..409dc8684
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-digest.script
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+# tomcat7-digest script
+# JPackage Project
+
+# Source functions library
+if [ -f /usr/share/java-utils/java-functions ] ; then
+ . /usr/share/java-utils/java-functions
+else
+ echo "Can't find functions library, aborting"
+ exit 1
+fi
+
+# Get the tomcat config (use this for environment specific settings)
+if [ -z "${TOMCAT_CFG}" ]; then
+ TOMCAT_CFG="/etc/tomcat7/tomcat7.conf"
+fi
+
+if [ -r "$TOMCAT_CFG" ]; then
+ . $TOMCAT_CFG
+fi
+
+set_javacmd
+
+# CLASSPATH munging
+if [ -n "$JSSE_HOME" ]; then
+ CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
+fi
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
+export CLASSPATH
+
+# Configuration
+MAIN_CLASS="org.apache.catalina.startup.Tool"
+BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
+BASE_OPTIONS=""
+BASE_JARS="commons-daemon tomcat7/catalina servlet"
+
+# Set parameters
+set_classpath $BASE_JARS
+set_flags $BASE_FLAGS
+set_options $BASE_OPTIONS
+
+# Let's start
+run -server org.apache.catalina.realm.RealmBase "$@"
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-tool-wrapper.script b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-tool-wrapper.script
new file mode 100644
index 000000000..ad75a097d
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0-tool-wrapper.script
@@ -0,0 +1,45 @@
+#!/bin/sh
+#
+# tomcat7-digest script
+# JPackage Project
+
+# Source functions library
+if [ -f /usr/share/java-utils/java-functions ] ; then
+ . /usr/share/java-utils/java-functions
+else
+ echo "Can't find functions library, aborting"
+ exit 1
+fi
+
+# Get the tomcat config (use this for environment specific settings)
+if [ -z "${TOMCAT_CFG}" ]; then
+ TOMCAT_CFG="/etc/tomcat7/tomcat7.conf"
+fi
+
+if [ -r "$TOMCAT_CFG" ]; then
+ . $TOMCAT_CFG
+fi
+
+set_javacmd
+
+# CLASSPATH munging
+if [ -n "$JSSE_HOME" ]; then
+ CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
+fi
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
+export CLASSPATH
+
+# Configuration
+MAIN_CLASS="org.apache.catalina.startup.Tool"
+BASE_OPTIONS=""
+BASE_FLAGS="-Dcatalina.home=\"$CATALINA_HOME\""
+BASE_JARS="commons-daemon tomcat7/catalina servlet"
+
+# Set parameters
+set_classpath $BASE_JARS
+set_flags $BASE_FLAGS
+set_options $BASE_OPTIONS
+
+# Let's start
+run "$@"
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.conf b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.conf
new file mode 100644
index 000000000..44115a856
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.conf
@@ -0,0 +1,50 @@
+# System-wide configuration file for tomcat7 services
+# This will be sourced by tomcat7 and any secondary service
+# Values will be overridden by service-specific configuration
+# files in /etc/sysconfig
+#
+# Use this one to change default values for all services
+# Change the service specific ones to affect only one service
+# (see, for instance, /etc/sysconfig/tomcat7)
+#
+
+# Where your java installation lives
+#JAVA_HOME="/usr/lib/jvm/java"
+
+# Where your tomcat installation lives
+CATALINA_BASE="@@@TCHOME@@@"
+CATALINA_HOME="@@@TCHOME@@@"
+JASPER_HOME="@@@TCHOME@@@"
+CATALINA_TMPDIR="@@@TCTEMP@@@"
+
+# You can pass some parameters to java here if you wish to
+#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
+
+# Use JAVA_OPTS to set java.library.path for libtcnative.so
+#JAVA_OPTS="-Djava.library.path=@@@LIBDIR@@@"
+
+# What user should run tomcat
+TOMCAT_USER="tomcat"
+
+# You can change your tomcat locale here
+#LANG="en_US"
+
+# Run tomcat under the Java Security Manager
+SECURITY_MANAGER="false"
+
+# Time to wait in seconds, before killing process
+SHUTDOWN_WAIT="30"
+
+# Whether to annoy the user with "attempting to shut down" messages or not
+SHUTDOWN_VERBOSE="false"
+
+# Set the TOMCAT_PID location
+CATALINA_PID="/var/run/tomcat7.pid"
+
+# Connector port is 8080 for this tomcat7 instance
+#CONNECTOR_PORT="8080"
+
+# If you wish to further customize your tomcat environment,
+# put your own definitions here
+# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
+
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.init b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.init
new file mode 100644
index 000000000..2dac7238b
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.init
@@ -0,0 +1,291 @@
+#!/bin/bash
+#
+# tomcat7 This shell script takes care of starting and stopping Tomcat
+#
+# chkconfig: - 80 20
+#
+### BEGIN INIT INFO
+# Provides: tomcat7
+# Required-Start: $network $syslog
+# Required-Stop: $network $syslog
+# Default-Start:
+# Default-Stop:
+# Description: Release implementation for Servlet 3.0 and JSP 2.2
+# Short-Description: start and stop tomcat
+### END INIT INFO
+#
+# - originally written by Henri Gomez, Keith Irwin, and Nicolas Mailhot
+# - heavily rewritten by Deepak Bhole and Jason Corley
+#
+
+## Source function library.
+#. /etc/rc.d/init.d/functions
+# Source LSB function library.
+if [ -r /lib/lsb/init-functions ]; then
+ . /lib/lsb/init-functions
+else
+ exit 1
+fi
+
+DISTRIB_ID=`lsb_release -i -s 2>/dev/null`
+
+NAME="$(basename $0)"
+unset ISBOOT
+if [ "${NAME:0:1}" = "S" -o "${NAME:0:1}" = "K" ]; then
+ NAME="${NAME:3}"
+ ISBOOT="1"
+fi
+
+# For SELinux we need to use 'runuser' not 'su'
+if [ -x "/sbin/runuser" ]; then
+ SU="/sbin/runuser -s /bin/sh"
+else
+ SU="/bin/su -s /bin/sh"
+fi
+
+# Get the tomcat config (use this for environment specific settings)
+TOMCAT_CFG="/etc/tomcat7/tomcat7.conf"
+if [ -r "$TOMCAT_CFG" ]; then
+ . $TOMCAT_CFG
+fi
+
+# Get instance specific config file
+if [ -r "/etc/sysconfig/${NAME}" ]; then
+ . /etc/sysconfig/${NAME}
+fi
+
+# Define which connector port to use
+CONNECTOR_PORT="${CONNECTOR_PORT:-8080}"
+
+# Path to the tomcat launch script
+TOMCAT_SCRIPT="/usr/sbin/dtomcat7"
+
+# Tomcat program name
+TOMCAT_PROG="${NAME}"
+
+# Define the tomcat username
+TOMCAT_USER="${TOMCAT_USER:-tomcat}"
+
+# Define the tomcat log file
+TOMCAT_LOG="${TOMCAT_LOG:-/var/log/${NAME}/catalina.out}"
+
+RETVAL="0"
+
+# Look for open ports, as the function name might imply
+function findFreePorts() {
+ local isSet1="false"
+ local isSet2="false"
+ local isSet3="false"
+ local lower="8000"
+ randomPort1="0"
+ randomPort2="0"
+ randomPort3="0"
+ local -a listeners="( $(
+ netstat -ntl | \
+ awk '/^tcp/ {gsub("(.)*:", "", $4); print $4}'
+ ) )"
+ while [ "$isSet1" = "false" ] || \
+ [ "$isSet2" = "false" ] || \
+ [ "$isSet3" = "false" ]; do
+ let port="${lower}+${RANDOM:0:4}"
+ if [ -z `expr " ${listeners[*]} " : ".*\( $port \).*"` ]; then
+ if [ "$isSet1" = "false" ]; then
+ export randomPort1="$port"
+ isSet1="true"
+ elif [ "$isSet2" = "false" ]; then
+ export randomPort2="$port"
+ isSet2="true"
+ elif [ "$isSet3" = "false" ]; then
+ export randomPort3="$port"
+ isSet3="true"
+ fi
+ fi
+ done
+}
+
+function makeHomeDir() {
+ if [ ! -d "$CATALINA_HOME" ]; then
+ echo "$CATALINA_HOME does not exist, creating"
+ if [ ! -d "/usr/share/${NAME}" ]; then
+ mkdir /usr/share/${NAME}
+ cp -pLR /usr/share/tomcat7/* /usr/share/${NAME}
+ fi
+ mkdir -p /var/log/${NAME} \
+ /var/cache/${NAME} \
+ /var/tmp/${NAME}
+ ln -fs /var/cache/${NAME} ${CATALINA_HOME}/work
+ ln -fs /var/tmp/${NAME} ${CATALINA_HOME}/temp
+ cp -pLR /usr/share/${NAME}/bin $CATALINA_HOME
+ cp -pLR /usr/share/${NAME}/conf $CATALINA_HOME
+ ln -fs /usr/share/java/tomcat7 ${CATALINA_HOME}/lib
+ ln -fs /usr/share/tomcat7/webapps ${CATALINA_HOME}/webapps
+ chown ${TOMCAT_USER}:${TOMCAT_USER} /var/log/${NAME}
+ fi
+}
+
+function parseOptions() {
+ options=""
+ options="$options $(
+ awk '!/^#/ && !/^$/ { ORS=" "; print "export ", $0, ";" }' \
+ $TOMCAT_CFG
+ )"
+ if [ -r "/etc/sysconfig/${NAME}" ]; then
+ options="$options $(
+ awk '!/^#/ && !/^$/ { ORS=" ";
+ print "export ", $0, ";" }' \
+ /etc/sysconfig/${NAME}
+ )"
+ fi
+ TOMCAT_SCRIPT="$options ${TOMCAT_SCRIPT}"
+}
+
+# See how we were called.
+function start() {
+ echo -n "Starting ${TOMCAT_PROG}: "
+ if [ -f "/var/lock/subsys/${NAME}" ] ; then
+ if [ -f "/var/run/${NAME}.pid" ]; then
+ read kpid < /var/run/${NAME}.pid
+# if checkpid $kpid 2>&1; then
+ if [ -d "/proc/${kpid}" ]; then
+ log_success_msg
+ if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
+ echo
+ fi
+ return 0
+ fi
+ fi
+ fi
+ # fix permissions on the log and pid files
+ export CATALINA_PID="/var/run/${NAME}.pid"
+ touch $CATALINA_PID
+ chown ${TOMCAT_USER}:${TOMCAT_USER} $CATALINA_PID
+ touch $TOMCAT_LOG
+ chown ${TOMCAT_USER}:${TOMCAT_USER} $TOMCAT_LOG
+ if [ "$CATALINA_HOME" != "/usr/share/tomcat7" ]; then
+ # Create a tomcat directory if it doesn't exist
+ makeHomeDir
+ # If CATALINA_HOME doesn't exist modify port number so that
+ # multiple instances don't interfere with each other
+ findFreePorts
+ sed -i -e "s/8005/${randomPort1}/g" -e "s/8080/${CONNECTOR_PORT}/g" \
+ -e "s/8009/${randomPort2}/g" -e "s/8443/${randomPort3}/g" \
+ ${CATALINA_HOME}/conf/server.xml
+ fi
+ parseOptions
+ if [ "$SECURITY_MANAGER" = "true" ]; then
+ $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} start-security" \
+ >> $TOMCAT_LOG 2>&1
+ else
+ $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} start" >> $TOMCAT_LOG 2>&1
+ fi
+ RETVAL="$?"
+ if [ "$RETVAL" -eq 0 ]; then
+ log_success_msg
+ touch /var/lock/subsys/${NAME}
+ else
+ log_failure_msg
+ fi
+ if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
+ echo
+ fi
+ return $RETVAL
+}
+
+function stop() {
+ RETVAL="0"
+ echo -n "Stopping ${TOMCAT_PROG}: "
+ if [ -f "/var/lock/subsys/${NAME}" ]; then
+ parseOptions
+ $SU - $TOMCAT_USER -c "${TOMCAT_SCRIPT} stop" >> $TOMCAT_LOG 2>&1
+ RETVAL="$?"
+ if [ "$RETVAL" -eq "0" ]; then
+ count="0"
+ if [ -f "/var/run/${NAME}.pid" ]; then
+ read kpid < /var/run/${NAME}.pid
+ until [ "$(ps --pid $kpid | grep -c $kpid)" -eq "0" ] || \
+ [ "$count" -gt "$SHUTDOWN_WAIT" ]; do
+ if [ "$SHUTDOWN_VERBOSE" = "true" ]; then
+ echo "waiting for processes $kpid to exit"
+ fi
+ sleep 1
+ let count="${count}+1"
+ done
+ if [ "$count" -gt "$SHUTDOWN_WAIT" ]; then
+ if [ "$SHUTDOWN_VERBOSE" = "true" ]; then
+ echo "killing processes which didn't stop after $SHUTDOWN_WAIT seconds"
+ fi
+ kill -9 $kpid
+ fi
+ log_success_msg
+ fi
+ rm -f /var/lock/subsys/${NAME} /var/run/${NAME}.pid
+ else
+ log_failure_msg
+ fi
+ else
+ log_success_msg
+ fi
+ if [ "$DISTRIB_ID" = "MandrivaLinux" ]; then
+ echo
+ fi
+ return $RETVAL
+}
+
+# See how we were called.
+case "$1" in
+ start)
+ start
+ ;;
+ stop)
+ stop
+ ;;
+ restart)
+ stop
+ start
+ ;;
+ condrestart|try-restart)
+ if [ -f "/var/run/${NAME}.pid" ]; then
+ stop
+ start
+ fi
+ ;;
+ reload)
+ RETVAL="3"
+ ;;
+ force-reload)
+ if [ -f "/var/run/${NAME}.pid" ]; then
+ stop
+ start
+ fi
+ ;;
+ status)
+ if [ -f "/var/run/${NAME}.pid" ]; then
+# status ${NAME}
+# RETVAL="$?"
+ read kpid < /var/run/${NAME}.pid
+ if [ -d "/proc/${kpid}" ]; then
+ echo "${NAME} (pid ${kpid}) is running..."
+ RETVAL="0"
+ fi
+ else
+ pid="$(/usr/bin/pgrep -d , -u ${TOMCAT_USER} -G ${TOMCAT_USER} java)"
+ if [ -z "$pid" ]; then
+# status ${NAME}
+# RETVAL="$?"
+ echo "${NAME} is stopped"
+ RETVAL="3"
+ else
+ echo "${NAME} (pid $pid) is running..."
+ RETVAL="0"
+ fi
+ fi
+ ;;
+ version)
+ ${TOMCAT_SCRIPT} version
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|condrestart|try-restart|reload|force-reload|status|version}"
+ RETVAL="2"
+esac
+
+exit $RETVAL
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.logrotate b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.logrotate
new file mode 100644
index 000000000..a87b4c005
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.logrotate
@@ -0,0 +1,8 @@
+@@@TCLOG@@@/catalina.out {
+ copytruncate
+ weekly
+ rotate 52
+ compress
+ missingok
+ create 0644 tomcat tomcat
+}
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.starter b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.starter
new file mode 100755
index 000000000..f17b20f5b
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.starter
@@ -0,0 +1,40 @@
+#!/bin/sh
+#
+# Wrapper script for Tomcat 7.0, to be sure it will allways
+# be run with correct user profile (tomcat by default)
+#
+# derived from stuff in tomcat5.init
+#
+# Gomez Henri
+# Keith Irwin
+# Nicolas Mailhot
+#
+# version 1.01 - Fix webapps dir permissions
+#
+
+
+# Get Tomcat config
+
+TOMCAT_CFG="/etc/tomcat7/tomcat7.conf"
+
+[ -r "$TOMCAT_CFG" ] && . "${TOMCAT_CFG}"
+
+export CATALINA_BASE
+export CATALINA_HOME
+
+# Path to the tomcat launch script
+TOMCAT_SCRIPT=/usr/sbin/dtomcat7
+
+# Tomcat name :)
+TOMCAT_PROG=tomcat7
+
+# if TOMCAT_USER is not set, use tomcat
+if [ -z "$TOMCAT_USER" ]; then
+ TOMCAT_USER="tomcat"
+fi
+
+RETVAL=0
+
+su $TOMCAT_USER -c "$TOMCAT_SCRIPT $@"
+RETVAL=$?
+exit $RETVAL
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.sysconfig b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.sysconfig
new file mode 100644
index 000000000..69cd0a1d5
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.sysconfig
@@ -0,0 +1,56 @@
+# Service-specific configuration file for tomcat7. This will be sourced by
+# the SysV init script after the global configuration file
+# /etc/tomcat7/tomcat7.conf, thus allowing values to be overridden in
+# a per-service manner.
+#
+# NEVER change the init script itself. To change values for all services make
+# your changes in /etc/tomcat7/tomcat7.conf
+#
+# To change values for a specific service make your edits here.
+# To create a new service create a link from /etc/init.d/ to
+# /etc/init.d/tomcat7 (do not copy the init script) and make a copy of the
+# /etc/sysconfig/tomcat7 file to /etc/sysconfig/ and change
+# the property values so the two services won't conflict. Register the new
+# service in the system as usual (see chkconfig and similars).
+#
+
+# Where your java installation lives
+#JAVA_HOME="/usr/lib/jvm/java"
+
+# Where your tomcat installation lives
+#CATALINA_BASE="@@@TCHOME@@@"
+#CATALINA_HOME="@@@TCHOME@@@"
+#JASPER_HOME="@@@TCHOME@@@"
+#CATALINA_TMPDIR="@@@TCTEMP@@@"
+
+# You can pass some parameters to java here if you wish to
+#JAVA_OPTS="-Xminf0.1 -Xmaxf0.3"
+
+# Use JAVA_OPTS to set java.library.path for libtcnative.so
+#JAVA_OPTS="-Djava.library.path=@@@LIBDIR@@@"
+
+# What user should run tomcat
+#TOMCAT_USER="tomcat"
+
+# You can change your tomcat locale here
+#LANG="en_US"
+
+# Run tomcat under the Java Security Manager
+#SECURITY_MANAGER="false"
+
+# Time to wait in seconds, before killing process
+#SHUTDOWN_WAIT="30"
+
+# Whether to annoy the user with "attempting to shut down" messages or not
+#SHUTDOWN_VERBOSE="false"
+
+# Set the TOMCAT_PID location
+#CATALINA_PID="/var/run/tomcat7.pid"
+
+# Connector port is 8080 for this tomcat7 instance
+#CONNECTOR_PORT="8080"
+
+# If you wish to further customize your tomcat environment,
+# put your own definitions here
+# (i.e. LD_LIBRARY_PATH for some jdbc drivers)
+
diff --git a/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.wrapper b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.wrapper
new file mode 100644
index 000000000..24891d499
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SOURCES/tomcat7-7.0.wrapper
@@ -0,0 +1,74 @@
+#!/bin/bash
+
+if [ -r /usr/share/java-utils/java-functions ]; then
+ . /usr/share/java-utils/java-functions
+else
+ echo "Can't read Java functions library, aborting"
+ exit 1
+fi
+
+## Get the tomcat config (use this for environment specific settings)
+#if [ -z "${TOMCAT_CFG}" ]; then
+# TOMCAT_CFG="/etc/tomcat7/tomcat7.conf"
+#fi
+
+#if [ -r "$TOMCAT_CFG" ]; then
+# . $TOMCAT_CFG
+#fi
+
+set_javacmd
+
+# CLASSPATH munging
+if [ -n "$JSSE_HOME" ]; then
+ CLASSPATH="${CLASSPATH}:$(build-classpath jcert jnet jsse 2>/dev/null)"
+fi
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/bootstrap.jar"
+CLASSPATH="${CLASSPATH}:${CATALINA_HOME}/bin/tomcat-juli.jar"
+CLASSPATH="${CLASSPATH}:$(build-classpath commons-daemon 2>/dev/null)"
+
+if [ "$1" = "start" ]; then
+ ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
+ -classpath "$CLASSPATH" \
+ -Dcatalina.base="$CATALINA_BASE" \
+ -Dcatalina.home="$CATALINA_HOME" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+ -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
+ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
+ org.apache.catalina.startup.Bootstrap start \
+ >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &
+ if [ ! -z "$CATALINA_PID" ]; then
+ echo $! > $CATALINA_PID
+ fi
+elif [ "$1" = "start-security" ]; then
+ ${JAVACMD} $JAVA_OPTS $CATALINA_OPTS \
+ -classpath "$CLASSPATH" \
+ -Dcatalina.base="$CATALINA_BASE" \
+ -Dcatalina.home="$CATALINA_HOME" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+ -Djava.security.manager \
+ -Djava.security.policy=="${CATALINA_BASE}/conf/catalina.policy" \
+ -Djava.util.logging.config.file="${CATALINA_BASE}/conf/logging.properties" \
+ -Djava.util.logging.manager="org.apache.juli.ClassLoaderLogManager" \
+ org.apache.catalina.startup.Bootstrap start \
+ >> ${CATALINA_BASE}/logs/catalina.out 2>&1 &
+ if [ ! -z "$CATALINA_PID" ]; then
+ echo $! > $CATALINA_PID
+ fi
+elif [ "$1" = "stop" ]; then
+ ${JAVACMD} $JAVA_OPTS \
+ -classpath "$CLASSPATH" \
+ -Dcatalina.base="$CATALINA_BASE" \
+ -Dcatalina.home="$CATALINA_HOME" \
+ -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" \
+ -Djava.io.tmpdir="$CATALINA_TMPDIR" \
+ org.apache.catalina.startup.Bootstrap stop \
+ >> ${CATALINA_BASE}/logs/catalina.out 2>&1
+elif [ "$1" = "version" ]; then
+ ${JAVACMD} -classpath ${CATALINA_HOME}/lib/catalina.jar \
+ org.apache.catalina.util.ServerInfo
+else
+ echo "Usage: $0 {start|start-security|stop|version}"
+ exit 1
+fi
diff --git a/tools-ng/distribution/tomcat7/SPECS/tomcat7-ccm.spec b/tools-ng/distribution/tomcat7/SPECS/tomcat7-ccm.spec
new file mode 100644
index 000000000..86d0da857
--- /dev/null
+++ b/tools-ng/distribution/tomcat7/SPECS/tomcat7-ccm.spec
@@ -0,0 +1,355 @@
+# Copyright (c) 2000-2012, JPackage Project
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions
+# are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# 2. Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the
+# distribution.
+# 3. Neither the name of the JPackage Project nor the names of its
+# contributors may be used to endorse or promote products derived
+# from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
+# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
+# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
+# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
+# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
+# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
+# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
+# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
+# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+###%define rel 4%{?dist}
+
+###%define section free
+
+%define major_version 7
+%define minor_version 0
+%define micro_version 37
+%define packdname apache-tomcat-%{major_version}.%{minor_version}.%{micro_version}
+%define jspspec 2.2
+%define servletspec 3.0
+%define elspec 2.2
+%define tcuid 91
+#--%global arch noarch
+
+%define dist .TCbin
+
+# FHS 2.3 compliant tree structure - http://www.pathname.com/fhs/2.3/
+%define homedir %{_datadir}/%{name}
+%define basedir %{_var}/lib/%{name}
+
+%define appdir %{basedir}/webapps
+%define bindir %{_datadir}/%{name}/bin
+%define confdir %{_sysconfdir}/%{name}
+%define libdir %{_javadir}/%{name}
+%define logdir %{_var}/log/%{name}
+%define cachedir %{_var}/cache/%{name}
+%define tempdir %{cachedir}/temp
+%define workdir %{cachedir}/work
+%define _initrddir %{_sysconfdir}/init.d
+
+# Avoid RPM 4.2+'s internal dep generator, it may produce bogus
+# Provides/Requires here.
+%define _use_internal_dependency_generator 0
+
+# This prevents aggressive stripping.
+%define debug_package %{nil}
+
+
+Name: tomcat7
+Epoch: 0
+Version: %{major_version}.%{minor_version}.%{micro_version}
+Release: 1ccm%{dist}
+Summary: Apache Servlet/JSP Engine, RI for Servlet %{servletspec}/JSP %{jspspec} API
+
+License: ASL 2.0
+URL: http://tomcat.apache.org/
+Source0: apache-tomcat-%{major_version}.%{minor_version}.%{micro_version}.tar.gz
+Source1: %{name}-%{major_version}.%{minor_version}.conf
+Source2: %{name}-%{major_version}.%{minor_version}.init
+Source3: %{name}-%{major_version}.%{minor_version}.sysconfig
+Source4: %{name}-%{major_version}.%{minor_version}.wrapper
+Source5: %{name}-%{major_version}.%{minor_version}.logrotate
+Source6: %{name}-%{major_version}.%{minor_version}-digest.script
+Source7: %{name}-%{major_version}.%{minor_version}-tool-wrapper.script
+Source8: %{name}-%{major_version}.%{minor_version}.starter
+
+###Source10 http://apache.mirror.clusters.cc/tomcat/tomcat-7/v%{version}/bin/extras/tomcat-juli.jar
+
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
+BuildArch: noarch
+
+Requires(pre): shadow-utils
+Requires(pre): shadow-utils
+Requires: java >= 0:1.6.0
+Requires: procps
+Requires(post): /sbin/chkconfig
+Requires(preun): /sbin/chkconfig
+Requires(post): /lib/lsb/init-functions
+Requires(preun): /lib/lsb/init-functions
+Requires(post): jpackage-utils >= 0:1.7.5
+Requires(postun): jpackage-utils >= 0:1.7.5
+
+%description
+Tomcat is the servlet container that is used in the official Reference
+Implementation for the Java Servlet and JavaServer Pages technologies.
+The Java Servlet and JavaServer Pages specifications are developed by
+Sun under the Java Community Process.
+
+Tomcat is developed in an open and participatory environment and
+released under the Apache Software License version 2.0. Tomcat is intended
+to be a collaboration of the best-of-breed developers from around the world.
+
+This package distributes the original, unmodified binary Apache Tomcat
+distribution in a FHS compliant structure and includes configuration and
+helper files to start Tomcat during systems init process.
+
+# --------------------------------------------------------------------------
+
+%package admin-webapps
+Summary: The host-manager and manager web applications for Apache Tomcat
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description admin-webapps
+The host-manager and manager web applications for Apache Tomcat.
+
+This package distributes the original, unmodified binary Apache Tomcat
+distribution in a FHS compliant structure and includes configuration and
+helper files to start Tomcat during systems init process.
+
+# --------------------------------------------------------------------------
+
+%package docs-webapp
+Group: System Environment/Applications
+Summary: The docs web application for Apache Tomcat
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description docs-webapp
+The docs web application for Apache Tomcat.
+
+This package distributes the original, unmodified binary Apache Tomcat
+distribution in a FHS compliant structure and includes configuration and
+helper files to start Tomcat during systems init process.
+
+# --------------------------------------------------------------------------
+
+%package webapps
+##Group: System Environment/Applications
+Summary: The ROOT and examples web applications for Apache Tomcat
+Requires: %{name} = %{epoch}:%{version}-%{release}
+
+%description webapps
+The ROOT and examples web applications for Apache Tomcat.
+
+This package distributes the original, unmodified binary Apache Tomcat
+distribution in a FHS compliant structure and includes configuration and
+helper files to start Tomcat during systems init process.
+
+# --------------------------------------------------------------------------
+
+
+
+%prep
+###%setup -q -c
+
+%setup -n %{packdname}
+chmod -R go=u-w *
+chmod -R u+w *
+
+# remove pre-built binaries and windows files
+find . -type f \( \
+ -name "*.bat" -o \
+ -name "*.gz" -o \
+ -name "*.war" -o \
+ -name "*.zip" -o \
+ -name "Thumbs.db" \) | xargs -t %{__rm}
+
+# excluded in order to provice the managers class files
+# -name "*.class" -o \
+
+### currently nothing to patch
+### %patch0 -p0
+
+
+
+
+%build
+# Nope.
+
+
+%install
+%{__rm} -rf $RPM_BUILD_ROOT
+
+# build initial path structure
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_bindir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sbindir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_initrddir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig
+
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{homedir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{bindir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{confdir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{confdir}/Catalina/localhost
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{libdir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{logdir}
+/bin/touch ${RPM_BUILD_ROOT}%{logdir}/catalina.out
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{tempdir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{workdir}
+
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{webappdir}
+%{__install} -d -m 0755 ${RPM_BUILD_ROOT}%{appdir}
+
+# move things into place
+# tomcat stuff first
+# pushd %{packdname}
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/LICENSE ${RPM_BUILD_ROOT}/%{homedir}/
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/NOTICE ${RPM_BUILD_ROOT}/%{homedir}/
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/RELEASE* ${RPM_BUILD_ROOT}/%{homedir}/
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/bin/*.{jar,xml} ${RPM_BUILD_ROOT}%{bindir}
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/conf/*.{policy,properties,xml} ${RPM_BUILD_ROOT}%{confdir}
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/lib/*.jar ${RPM_BUILD_ROOT}%{libdir}
+ %{__cp} -a $RPM_BUILD_DIR/%{packdname}/webapps/* ${RPM_BUILD_ROOT}%{webappdir}
+# popd
+
+
+# supporting files for configuration, init etc.
+%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
+ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE1} \
+ > ${RPM_BUILD_ROOT}%{confdir}/%{name}.conf
+%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
+ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE3} \
+ > ${RPM_BUILD_ROOT}%{_sysconfdir}/sysconfig/%{name}
+%{__install} -m 0644 %{SOURCE2} \
+ ${RPM_BUILD_ROOT}%{initrddir}/%{name}
+%{__install} -m 0644 %{SOURCE4} \
+ ${RPM_BUILD_ROOT}%{_sbindir}/%{name}
+%{__ln_s} %{name} ${RPM_BUILD_ROOT}%{_sbindir}/d%{name}
+%{__sed} -e "s|\@\@\@TCLOG\@\@\@|%{logdir}|g" %{SOURCE5} \
+ > ${RPM_BUILD_ROOT}%{_sysconfdir}/logrotate.d/%{name}
+%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
+ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE6} \
+ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-digest
+%{__sed} -e "s|\@\@\@TCHOME\@\@\@|%{homedir}|g" \
+ -e "s|\@\@\@TCTEMP\@\@\@|%{tempdir}|g" \
+ -e "s|\@\@\@LIBDIR\@\@\@|%{_libdir}|g" %{SOURCE7} \
+ > ${RPM_BUILD_ROOT}%{_bindir}/%{name}-tool-wrapper
+
+# symlink to the FHS locations where we've installed things
+pushd ${RPM_BUILD_ROOT}%{homedir}
+ %{__ln_s} %{confdir} conf
+ %{__ln_s} %{logdir} logs
+ %{__ln_s} %{tempdir} temp
+ %{__ln_s} %{workdir} work
+ %{__ln_s} %{webappdir} webapps
+popd
+
+
+
+%pre
+# add the tomcat user and group
+%{_sbindir}/groupadd -g %{tcuid} -r tomcat 2>/dev/null || :
+%{_sbindir}/useradd -c "Apache Tomcat" -u %{tcuid} -g tomcat \
+ -s /bin/nologin -r -d %{homedir} tomcat 2>/dev/null || :
+## In case user tomcat exists already from a previous tomcat6 install, fix the homedir.
+#%{_sbindir}/usermod -d %{homedir} tomcat 2>/dev/null || :
+
+
+%post
+# install but don't activate
+/sbin/chkconfig --add %{name}
+
+
+%preun
+# clean tempdir and workdir on removal or upgrade
+%{__rm} -rf %{workdir} %{tempdir}
+if [ "$1" = "0" ]; then
+ %{initrddir}/%{name} stop >/dev/null 2>&1
+ /sbin/chkconfig --del %{name}
+fi
+
+
+# base package
+%files
+%defattr(0664,root,tomcat,0775)
+# % % doc {LICENSE,NOTICE,RELEASE*}
+
+# attribute flags for rpm support and config files
+%attr(0755,root,root) %{_bindir}/%{name}-digest
+%attr(0755,root,root) %{_bindir}/%{name}-tool-wrapper
+%attr(0755,root,root) %{_sbindir}/d%{name}
+%attr(0755,root,root) %{_sbindir}/%{name}
+%attr(0755,root,root) %{initrddir}/%{name}
+%attr(0644,root,root) %config(noreplace) %{_sysconfdir}/logrotate.d/%{name}
+%config(noreplace) %{_sysconfdir}/sysconfig/%{name}
+
+# attribute flags for basic tomcat directories and config files
+%attr(0765,root,tomcat) %dir %{basedir}
+%attr(0775,root,tomcat) %dir %{webappdir}
+%attr(0775,root,tomcat) %dir %{cachedir}
+%attr(0775,root,tomcat) %dir %{tempdir}
+%attr(0775,root,tomcat) %dir %{workdir}
+# (from sl spec)
+%attr(0775,root,tomcat) %dir %{logdir}
+%attr(0644,tomcat,tomcat) %{logdir}/catalina.out
+
+%attr(0775,root,tomcat) %dir %{confdir}
+%attr(0775,root,tomcat) %dir %{confdir}/Catalina
+%attr(0775,root,tomcat) %dir %{confdir}/Catalina/localhost
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/%{name}.conf
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.policy
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/*.properties
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/context.xml
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/server.xml
+%attr(0664,tomcat,tomcat) %config(noreplace) %{confdir}/tomcat-users.xml
+%attr(0666,tomcat,tomcat) %config(noreplace) %{confdir}/web.xml
+
+%dir %{homedir}
+# specify files to include in package for installation
+%{homedir}/LICENSE
+%{homedir}/NOTICE
+%{homedir}/RELEASE*
+%{homedir}/bin
+%{homedir}/lib
+%{homedir}/temp
+%{homedir}/webapps
+%{homedir}/work
+%{homedir}/logs
+%{homedir}/conf
+
+%files admin-webapps
+%defattr(0664,root,tomcat,0775)
+%{webappdir}/host-manager
+%{webappdir}/manager
+
+%files docs-webapp
+%defattr(-,root,root,-)
+%{webappdir}/docs
+
+%files webapps
+%defattr(0664,root,tomcat,0775)
+%{webappdir}/ROOT
+%{webappdir}/examples
+
+%changelog
+* Sun Jun 21 2014 Peter Boy 0:7.0.53-1
+- Initial release, heavily borrowed from jpp, Scientific Linux,
+ and CentOS
+
+
+
+
+
+
diff --git a/tools-ng/netbeans/project.xml b/tools-ng/netbeans/project.xml
index b69bece86..8d6f8b0e9 100644
--- a/tools-ng/netbeans/project.xml
+++ b/tools-ng/netbeans/project.xml
@@ -15,6 +15,16 @@
.
UTF-8
+
+ webapps
+ doc_root
+ runtime/webapps
+
+
+ WEB-INF
+ web_inf
+ runtime/webapps/WEB-INF
+
ccm-core (Source)
java
@@ -51,12 +61,24 @@
ccm-cms-assets-notes/src
UTF-8
+
+ ccm-cms-assets-orgaunittext (Source)
+ java
+ ccm-cms-assets-orgaunittext/src
+ UTF-8
+
ccm-cms-assets-relatedlink (Source)
java
ccm-cms-assets-relatedlink/src
UTF-8
+
+ ccm-cms-personalcontentcomponent (Source)
+ java
+ ccm-cms-personalcontentcomponent/src
+ UTF-8
+
ccm-cms-publicpersonalprofile (Source)
java
@@ -142,9 +164,9 @@
UTF-8
- ccm-cms-types-htmlform (Source)
+ ccm-cms-types-historicdate (Source)
java
- ccm-cms-types-htmlform/src
+ ccm-cms-types-historicdate/src
UTF-8
@@ -237,6 +259,12 @@
ccm-cms-types-simpleaddress/src
UTF-8
+
+ ccm-cms-types-simpleorganization (Source)
+ java
+ ccm-cms-types-simpleorganization/src
+ UTF-8
+
ccm-cms-types-siteproxy (Source)
java
@@ -537,6 +565,30 @@
ccm-lbc-wordxml/src
UTF-8
+
+ ccm-sci-assets-publicationsabout (Source)
+ java
+ ccm-sci-assets-publicationsabout/src
+ UTF-8
+
+
+ ccm-sci-assets-publicationslibrarysignatures (Source)
+ java
+ ccm-sci-assets-publicationslibrarysignatures/src
+ UTF-8
+
+
+ ccm-sci-assets-publicationspersons (Source)
+ java
+ ccm-sci-assets-publicationspersons/src
+ UTF-8
+
+
+ ccm-sci-assets-publicationspublicationtype (Source)
+ java
+ ccm-sci-assets-publicationspublicationtype/src
+ UTF-8
+
ccm-sci-bundle (Source)
java
@@ -561,6 +613,36 @@
ccm-sci-publications/src
UTF-8
+
+ ccm-sci-publicationscvsexporter (Source)
+ java
+ ccm-sci-publicationscvsexporter/src
+ UTF-8
+
+
+ ccm-sci-publicationscvsimporter (Source)
+ java
+ ccm-sci-publicationscvsimporter/src
+ UTF-8
+
+
+ ccm-sci-publications-dramaticarts (Source)
+ java
+ ccm-sci-publications-dramaticarts/src
+ UTF-8
+
+
+ ccm-sci-publicationsexportlinks (Source)
+ java
+ ccm-sci-publicationsexportlinks/src
+ UTF-8
+
+
+ ccm-sci-publications-researchreport (Source)
+ java
+ ccm-sci-publications-researchreport/src
+ UTF-8
+
ccm-sci-types-department (Source)
java
@@ -585,16 +667,6 @@
ccm-sci-types-project/src
UTF-8
-
- webapps
- doc_root
- runtime/webapps
-
-
- WEB-INF
- web_inf
- runtime/webapps/WEB-INF
-
@@ -662,10 +734,18 @@
ccm-cms-assets-notes (Source)
ccm-cms-assets-notes/src
+
+ ccm-cms-assets-orgaunittext (Source)
+ ccm-cms-assets-orgaunittext/src
+
ccm-cms-assets-relatedlink (Source)
ccm-cms-assets-relatedlink/src
+
+ ccm-cms-personalcontentcomponent (Source)
+ ccm-cms-personalcontentcomponent/src
+
ccm-cms-publicpersonalprofile (Source)
ccm-cms-publicpersonalprofile/src
@@ -723,8 +803,8 @@
ccm-cms-types-healthCareFacility/src
- ccm-cms-types-htmlform (Source)
- ccm-cms-types-htmlform/src
+ ccm-cms-types-historicdate (Source)
+ ccm-cms-types-historicdate/src
ccm-cms-types-image (Source)
@@ -786,6 +866,10 @@
ccm-cms-types-simpleaddress (Source)
ccm-cms-types-simpleaddress/src
+
+ ccm-cms-types-simpleorganisation (Source)
+ ccm-cms-types-simpleorganisation/src
+
ccm-cms-types-siteproxy (Source)
ccm-cms-types-siteproxy/src
@@ -946,6 +1030,10 @@
ccm-ldn-types-contact (Source)
ccm-ldn-types-contact/src
+
+ ccm-ldn-types-councillor (Source)
+ ccm-ldn-types-councillor/src
+
ccm-ldn-types-esdservice (Source)
ccm-ldn-types-esdservice/src
@@ -986,6 +1074,22 @@
ccm-lbc-wordxml (Source)
ccm-lbc-wordxml/src
+
+ ccm-sci-assets-publicationsabout (Source)
+ ccm-sci-assets-publicationsabout/src
+
+
+ ccm-sci-assets-publicationslibrarysignatures (Source)
+ ccm-sci-assets-publicationslibrarysignatures/src
+
+
+ ccm-sci-assets-publicationspersons (Source)
+ ccm-sci-assets-publicationspersons/src
+
+
+ ccm-sci-assets-publicationspublicationtype (Source)
+ ccm-sci-assets-publicationspublicationtype/src
+
ccm-sci-bundle (Source)
ccm-sci-bundle/src
@@ -1002,6 +1106,26 @@
ccm-sci-publications (Source)
ccm-sci-publications/src
+
+ ccm-sci-publicationscvsexporter (Source)
+ ccm-sci-cvsexporter/src
+
+
+ ccm-sci-publicationscvsimporter (Source)
+ ccm-sci-publicationscvsimporter/src
+
+
+ ccm-sci-publications-dramaticarts (Source)
+ ccm-sci-publications-dramaticarts/src
+
+
+ ccm-sci-publicationsexportlinks (Source)
+ ccm-sci-publicationsexportlinks/src
+
+
+ ccm-sci-publications-researchreport (Source)
+ ccm-sci-publications-researchreport/src
+
ccm-sci-types-department (Source)
ccm-sci-types-department/src
@@ -1043,7 +1167,9 @@
ccm-cms-assets-fileattachment/src
ccm-cms-assets-imagestep/src
ccm-cms-assets-notes/src
+ ccm-cms-assets-orgaunittext/src
ccm-cms-assets-relatedlink/src
+ ccm-cms-personalcontentcomponent/src
ccm-cms-publicpersonalprofile/src
ccm-cms-types-address/src
ccm-cms-types-agenda/src
@@ -1059,7 +1185,7 @@
ccm-cms-types-formsectionitem/src
ccm-cms-types-glossaryitem/src
ccm-cms-types-healthCareFacility/src
- ccm-cms-types-htmlform/src
+ ccm-cms-types-historicdate/src
ccm-cms-types-image/src
ccm-cms-types-inlinesite/src
ccm-cms-types-job/src
@@ -1075,6 +1201,7 @@
ccm-cms-types-researchnetwork/src
ccm-cms-types-service/src
ccm-cms-types-simpleaddress/src
+ ccm-cms-types-simpleorganisation/src
ccm-cms-types-siteproxy/src
ccm-cms-types-survey/src
ccm-cms-types-xmlfeed/src
@@ -1107,6 +1234,7 @@
ccm-webpage/src
ccm-ldn-aplaws/src
ccm-ldn-atoz/src
+ ccm-ldn-atoz-siteproxy/src
ccm-ldn-dublin/src
ccm-ldn-exporter/src
ccm-ldn-freeform/src
@@ -1114,6 +1242,7 @@
ccm-ldn-search/src
ccm-ldn-terms/src
ccm-ldn-types-contact/src
+ ccm-ldn-types-councillor/src
ccm-ldn-types-esdservice/src
ccm-ldn-userpreferences/src
ccm-ldn-util/src
@@ -1124,15 +1253,24 @@
ccm-lbc-foi/src
ccm-lbc-retention/src
ccm-lbc-wordxml/src
+ ccm-sci-assets-publicationsabout/src
+ ccm-sci-assets-publicationslibrarysignatures/src
+ ccm-sci-assets-publicationspersons/src
+ ccm-sci-assets-publicationspublicationtype/src
ccm-sci-bundle/src
ccm-sci-personalprojects/src
ccm-sci-personalpublications/src
ccm-sci-publications/src
+ ccm-sci-publicationscsvexporter/src
+ ccm-sci-publicationscsvimporter/src
+ ccm-sci-publications-dramaticarts/src
+ ccm-sci-publicationsexportlinks/src
+ ccm-sci-publications-researchreport/src
ccm-sci-types-department/src
ccm-sci-types-institute/src
ccm-sci-types-member/src
ccm-sci-types-project/src
- ccm-core/lib/log4j.jar:ccm-core/lib/mail.jar:ccm-core/lib/commons-beanutils.jar:ccm-core/lib/commons-cli-1.0.jar:ccm-core/lib/commons-collections-3.0.jar:ccm-core/lib/commons-codec-1.3.jar:ccm-core/lib/commons-fileupload-1.1.1.jar:ccm-core/lib/commons-io-1.3.1.jar:ccm-core/lib/commons-lang-2.1.jar:ccm-core/lib/commons-primitives-1.0.jar:ccm-core/lib/xercesImpl.jar:ccm-core/lib/jakarta-oro-2.0.8.jar:ccm-core/lib/Tidy.jar:ccm-core/lib/imgscalr-lib-4.3-SNAPSHOT.jar:ccm-core/lib/jdom.jar:ccm-core/lib/jdxslt.jar:ccm-core/lib/lucene-core-2.4.0.jar:ccm-core/lib/saxon.jar:ccm-core/lib/poi-2.5-final-20040302.jar:ccm-core/lib/pdfbox-1.4.0.jar:ccm-core/lib/tm-extractors-0.4.jar:ccm-core/lib/bcprov-jdk16-144.jar:ccm-cms/lib/jai_codec.jar:ccm-cms/lib/jai_core.jar:ccm-cms/lib/mlibwrapper_jai.jar:ccm-ldn-search/lib/axis.jar:ccm-ldn-search/lib/jaxrpc.jar:ccm-ldn-search/lib/jobo.jar:ccm-ldn-terms/lib/commons-digester.jar:ccm-ldn-terms/lib/jena.jar:ccm-ldn-terms/lib/snowball.jar:ccm-ldn-terms/lib/weka-3.5.5.jar:ccm-ldn-terms/lib/xstream-1.3.1.jar:ccm-formbuilder-pdf/lib/fop.jar:ccm-sci-publications/lib/jbibtex-1.0.2.jar:tools-ng/devel/lib/ojdbc14.jar:tools-ng/devel/lib/postgresql-jdbc.jar:tools-ng/devel/lib/servlet-api.jar:tools-ng/devel/lib/jsp-api.jar
+ ccm-core/lib/log4j.jar:ccm-core/lib/mail.jar:ccm-core/lib/commons-beanutils.jar:ccm-core/lib/commons-cli-1.0.jar:ccm-core/lib/commons-collections-3.0.jar:ccm-core/lib/commons-codec-1.3.jar:ccm-core/lib/commons-fileupload-1.1.1.jar:ccm-core/lib/commons-io-1.3.1.jar:ccm-core/lib/commons-lang-2.1.jar:ccm-core/lib/commons-primitives-1.0.jar:ccm-core/lib/xercesImpl.jar:ccm-core/lib/jakarta-oro-2.0.8.jar:ccm-core/lib/Tidy.jar:ccm-core/lib/imgscalr-lib-4.3-SNAPSHOT.jar:ccm-core/lib/jdom.jar:ccm-core/lib/jdxslt.jar:ccm-core/lib/lucene-core-2.4.0.jar:ccm-core/lib/saxon.jar:ccm-core/lib/poi-2.5-final-20040302.jar:ccm-core/lib/pdfbox-1.4.0.jar:ccm-core/lib/tm-extractors-0.4.jar:ccm-core/lib/bcprov-jdk16-144.jar:ccm-cms/lib/jai_codec.jar:ccm-cms/lib/jai_core.jar:ccm-cms/lib/mlibwrapper_jai.jar:ccm-ldn-search/lib/axis.jar:ccm-ldn-search/lib/jaxrpc.jar:ccm-ldn-search/lib/jobo.jar:ccm-ldn-terms/lib/commons-digester.jar:ccm-ldn-terms/lib/jena.jar:ccm-ldn-terms/lib/snowball.jar:ccm-ldn-terms/lib/weka-3.5.5.jar:ccm-ldn-terms/lib/xstream-1.3.1.jar:ccm-formbuilder-pdf/lib/fop.jar:ccm-sci-publications/lib/jbibtex-1.0.2.jar:tools-ng/devel/lib/ojdbc14.jar:tools-ng/devel/lib/servlet-api.jar:tools-ng/devel/lib/jsp-api.jar:tools-ng/devel/lib/portlet-2.0.jar
1.6