From 4aed32729b251bc9561bfbd414d1912e681fb487 Mon Sep 17 00:00:00 2001 From: jensp Date: Fri, 28 Feb 2014 09:59:07 +0000 Subject: [PATCH] The publish lock mechanism in ccm-cms now stores the stacktrace of an eventual error in the database. This simplifies the analysis of problems in the publication process. In the catalina.log it is often difficult to find the correct stacktrace. git-svn-id: https://svn.libreccm.org/ccm/trunk@2546 8810af33-2d31-482b-a856-94f89814c4df --- ccm-cms/application.xml | 2 +- .../arsdigita/content-section/PublishLock.pdl | 1 + ...add_cms_publish_lock_stacktrace_column.sql | 23 + .../upgrade/oracle-se-6.6.10-6.6.11.sql | 23 + .../upgrade/postgres-6.6.10-6.6.11.sql | 28 + ccm-cms/src/ccm-cms.upgrade | 4 + .../ui/lifecycle/ItemLifecycleItemPane.java | 1403 +++++++++-------- .../ui/lifecycle/ItemLifecycleSelectForm.java | 258 ++- .../cms/ui/lifecycle/PublishLock.java | 4 +- 9 files changed, 913 insertions(+), 833 deletions(-) create mode 100644 ccm-cms/sql/ccm-cms/default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql create mode 100644 ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.10-6.6.11.sql create mode 100644 ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.10-6.6.11.sql diff --git a/ccm-cms/application.xml b/ccm-cms/application.xml index 054ab53cf..059df3885 100755 --- a/ccm-cms/application.xml +++ b/ccm-cms/application.xml @@ -2,7 +2,7 @@ diff --git a/ccm-cms/pdl/com/arsdigita/content-section/PublishLock.pdl b/ccm-cms/pdl/com/arsdigita/content-section/PublishLock.pdl index 0869d519e..1d9a86414 100644 --- a/ccm-cms/pdl/com/arsdigita/content-section/PublishLock.pdl +++ b/ccm-cms/pdl/com/arsdigita/content-section/PublishLock.pdl @@ -8,6 +8,7 @@ object type PublishLock { String[0..1] lockedOid = cms_publish_lock.locked_oid VARCHAR(2048); Date[0..1] timestamp = cms_publish_lock.lock_timestamp TIMESTAMP; String[0..1] action = cms_publish_lock.action VARCHAR(256); + String[0..1] stacktrace = cms_publish_lock.stacktrace CLOB; object key(id); diff --git a/ccm-cms/sql/ccm-cms/default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql new file mode 100644 index 000000000..cfea5730c --- /dev/null +++ b/ccm-cms/sql/ccm-cms/default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql @@ -0,0 +1,23 @@ +-- +-- Copyright (C) 2014 Jens Pelzetter All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $Id$ + +-- adds to stacktrace column to the cms_publish_lock table, allowing easier analysis of problems +-- with the publication process + +ALTER TABLE cms_publish_lock ADD COLUMN stacktrace TEXT; \ No newline at end of file diff --git a/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.10-6.6.11.sql b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.10-6.6.11.sql new file mode 100644 index 000000000..0d676aae9 --- /dev/null +++ b/ccm-cms/sql/ccm-cms/upgrade/oracle-se-6.6.10-6.6.11.sql @@ -0,0 +1,23 @@ +-- +-- Copyright (C) 2014 Jens Pelzetter All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $Id$ + +-- Update: Rename com.arsdigta.cms.Workspace to com.arsdigita.cms.ContentCenter +PROMPT Red Hat Enterprise CMS 6.6.10 -> 6.6.11 Upgrade Script (Oracle) + +@@ ../default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql diff --git a/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.10-6.6.11.sql b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.10-6.6.11.sql new file mode 100644 index 000000000..6ac07d895 --- /dev/null +++ b/ccm-cms/sql/ccm-cms/upgrade/postgres-6.6.10-6.6.11.sql @@ -0,0 +1,28 @@ +-- +-- Copyright (C) 2014 Jens Pelzetter All Rights Reserved. +-- +-- This library is free software; you can redistribute it and/or +-- modify it under the terms of the GNU Lesser General Public License +-- as published by the Free Software Foundation; either version 2.1 of +-- the License, or (at your option) any later version. +-- +-- This library is distributed in the hope that it will be useful, +-- but WITHOUT ANY WARRANTY; without even the implied warranty of +-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +-- Lesser General Public License for more details. +-- +-- You should have received a copy of the GNU Lesser General Public +-- License along with this library; if not, write to the Free Software +-- Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +-- +-- $DateTime$ +-- $Id$ + +-- Update: Rename com.arsdigta.cms.Workspace to com.arsdigita.cms.ContentCenter +\echo Red Hat Enterprise CMS 6.6.10 -> 6.6.11 Upgrade Script (PostgreSQL) + +begin; + +\i ../default/upgrade/6.6.10-6.6.11/add_cms_publish_lock_stacktrace_column.sql + +commit; \ No newline at end of file diff --git a/ccm-cms/src/ccm-cms.upgrade b/ccm-cms/src/ccm-cms.upgrade index 3da647c11..26ea1d243 100755 --- a/ccm-cms/src/ccm-cms.upgrade +++ b/ccm-cms/src/ccm-cms.upgrade @@ -77,4 +77,8 @@