[Amavisadmin-svn] SF.net SVN: amavisadmin: [33] amavisadmin/trunk
Status: Beta
Brought to you by:
streindl
From: <str...@us...> - 2007-01-20 15:47:40
|
Revision: 33 http://amavisadmin.svn.sourceforge.net/amavisadmin/?rev=33&view=rev Author: streindl Date: 2007-01-20 07:47:38 -0800 (Sat, 20 Jan 2007) Log Message: ----------- Fixes for: * 1640285 Dp not use plural terms for table names * 1639757 Admin reminder contains wrong HQL * 1639749 Regression: No mails are send via batch * 1639740 Bugs in deletion reminder mail * 1638972 Not possible to create parameters for jobs Modified Paths: -------------- amavisadmin/trunk/db/postgres/update_v0_v1.sql amavisadmin/trunk/src/java/de/sreindl/amavisadmin/EditSingleJob.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/bo/ConfigurationBO.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSetting.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.hbm.xml amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Job.hbm.xml amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/MailQueueReceipient.hbm.xml amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Request.hbm.xml amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/AdminNotifierJob.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/MailSendJob.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/ReminderJob.java amavisadmin/trunk/web/EditSingleJob.jsp Added Paths: ----------- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSettingId.java amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSettingId.java Modified: amavisadmin/trunk/db/postgres/update_v0_v1.sql =================================================================== --- amavisadmin/trunk/db/postgres/update_v0_v1.sql 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/db/postgres/update_v0_v1.sql 2007-01-20 15:47:38 UTC (rev 33) @@ -4,14 +4,17 @@ -- new tables +-- #1638972 create table configuration ( - key varchar(64) not null, + "key" varchar(64) not null, + job_ref varchar(64) not null, version int4 default 0 not null, - value varchar(255) not null, - job_ref varchar(64) not null, - primary key (key)); + "value" varchar(255) not null, + primary key ("key", job_ref) +); -create table jobs ( +-- #1640285 +create table job ( job_name varchar(64) not null, version int4 default 0 not null, job_description varchar(255) not null, @@ -20,8 +23,22 @@ job_special bool not null default false, job_enabled bool not null default false, job_last_run_date timestamp, - primary key (job_name)); + primary key (job_name) +); +-- postponed to 0.2 +--create table job_status ( +-- job_name varchar(64) not null, +-- job_run_date timestamp with time zone +-- not null, +-- version int4 default 0 not null, +-- job_status character(1) default ' ' +-- not null +-- check (job_status in (' ', 'S', 'E')), +-- job_status_message text not null, +-- primary key (job_name, job_run_date) +--); + create table mail_queue ( id int4 not null, version int4 default 0 not null, @@ -33,30 +50,34 @@ encoding varchar(128) not null, mail_text text not null, error varchar(255), - primary key (id)); + primary key (id) +); create sequence mail_queue_id_seq; -create table mail_queue_rcpts ( +create table mail_queue_rcpt ( id int4 not null, version int4 default 0 not null, rcpt_type char(1) check (rcpt_type IN ('T', 'C', 'B')), receipient varchar(255) not null, mail_queue_id int4 not null, - primary key (id)); + primary key (id) +); -create sequence mail_queue_rcpts_id_seq; +create sequence mail_queue_rcpt_id_seq; -create table requests ( - key varchar(255) not null, +-- #1640285 +create table request ( + "key" varchar(255) not null, version int4 default 0 not null, handler_Type varchar(255) not null, status char(1) not null, expiration_date timestamp not null, param1 varchar(255), param2 varchar(255), - primary key (key)); + primary key ("key") +); -- 2. changes to existing tables @@ -108,10 +129,11 @@ -- constraints with internal names ($1...). alter table maddr add constraint maddr_fk_1 foreign key (user_id) references users; + alter table configuration add constraint constraint_fk_1 - foreign key (job_ref) references jobs; + foreign key (job_ref) references job; -alter table mail_queue_rcpts add constraint mail_queue_recpts_fk_1 +alter table mail_queue_rcpt add constraint mail_queue_rcpt_fk_1 foreign key (mail_queue_id) references mail_queue; alter table msgrcpt drop constraint "$1"; @@ -129,13 +151,13 @@ -- 4. Load data -- 4.1 Migration Job -insert into jobs (job_name, job_description, job_cron_settings, +insert into job (job_name, job_description, job_cron_settings, job_class, job_enabled, job_special) values ('$$Migrate V0 to V1', 'Migration', 'dummy', 'de.sreindl.amavisadmin.migration.MigrateV0toV1', true, true); --- 4.2 Dummy job for global variable reference -insert into jobs (job_name, job_description, job_cron_settings, +-- 4.2 Dummy job for global variable references +insert into job (job_name, job_description, job_cron_settings, job_class, job_enabled, job_special) values ('$$Global', 'Global Variables', 'dummy', 'de.sreindl.amavisadmin.jobs.BaseJob', false, true); Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/EditSingleJob.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/EditSingleJob.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/EditSingleJob.java 2007-01-20 15:47:38 UTC (rev 33) @@ -38,12 +38,10 @@ import com.sun.rave.web.ui.component.TextField; import com.sun.rave.web.ui.model.Option; import com.sun.rave.web.ui.model.SingleSelectOptionsList; -import de.sreindl.amavisadmin.ApplicationBean1; -import de.sreindl.amavisadmin.RequestBean1; -import de.sreindl.amavisadmin.SessionBean1; import de.sreindl.amavisadmin.bo.configuration.ConfigurationDataEntry; import de.sreindl.amavisadmin.bo.configuration.ConfigurationDataTable; import de.sreindl.amavisadmin.db.ConfigurationSetting; +import de.sreindl.amavisadmin.db.ConfigurationSettingId; import de.sreindl.amavisadmin.db.Job; import de.sreindl.amavisadmin.db.JobDAO; import de.sreindl.amavisadmin.db.util.HibernateSessionFactory; @@ -55,6 +53,7 @@ import java.util.ArrayList; import java.util.Date; import java.util.HashMap; +import java.util.Iterator; import javax.faces.FacesException; import javax.faces.application.FacesMessage; import javax.faces.component.UIComponent; @@ -377,23 +376,23 @@ public void setMessage1(Message m) { this.message1 = m; } - + private PanelGroup groupPanel1 = new PanelGroup(); - + public PanelGroup getGroupPanel1() { return groupPanel1; } - + public void setGroupPanel1(PanelGroup pg) { this.groupPanel1 = pg; } - + private PanelGroup groupPanel2 = new PanelGroup(); - + public PanelGroup getGroupPanel2() { return groupPanel2; } - + public void setGroupPanel2(PanelGroup pg) { this.groupPanel2 = pg; } @@ -485,33 +484,41 @@ * this page.</p> */ public void prerender() { - if (!FacesContext.getCurrentInstance().getMessages().hasNext()) { - // regular startup - String jobName = (String)getSessionBean1().getParameter("JOB_NAME"); - this.erase(); - if (jobName != null) { - JobDAO dao = new JobDAO(); - Job currentJob = dao.findById(jobName); - fldJobName.setText(currentJob.getJobName()); - fldDescription.setText(currentJob.getDescription()); - fldCRONSchedule.setText(currentJob.getCronSettings()); - dropDown1.setValue(currentJob.getJobClass().getName()); - chkEnabled.setSelected(currentJob.getEnabled()); - try { - BaseJob job = (BaseJob)currentJob.getJobClass().newInstance(); - ArrayList<ConfigurationDataEntry> entries = - job.getConfigurationDataTable(); - ConfigurationDataEntry[] deArray = - entries.toArray(new ConfigurationDataEntry[entries.size()]); - getSessionBean1().getConfigurationTableEntries().setArray(deArray); - } catch (InstantiationException ie) { - log("Error ", ie); - } catch (IllegalAccessException iae) { - log("Error ", iae); + // regular startup + String jobName = (String)getSessionBean1().getParameter("JOB_NAME"); + this.erase(); + if (jobName != null) { + JobDAO dao = new JobDAO(); + Job currentJob = dao.findById(jobName); + fldJobName.setText(currentJob.getJobName()); + fldDescription.setText(currentJob.getDescription()); + fldCRONSchedule.setText(currentJob.getCronSettings()); + dropDown1.setValue(currentJob.getJobClass().getName()); + chkEnabled.setSelected(currentJob.getEnabled()); + try { + BaseJob job = (BaseJob)currentJob.getJobClass().newInstance(); + ArrayList<ConfigurationDataEntry> entries = + job.getConfigurationDataTable(); + // add job's configuration entries to array + Iterator<ConfigurationDataEntry> iKeys = entries.iterator(); + while (iKeys.hasNext()) { + ConfigurationDataEntry entry = iKeys.next(); + if (currentJob.getConfItems().containsKey(entry.getKey())) { + ConfigurationSetting confEntry = + (ConfigurationSetting)currentJob.getConfItems().get(entry.getKey()); + entry.setValue(confEntry.getValue()); + } } - } else { - getSessionBean1().getConfigurationTableEntries().setArray(null); + ConfigurationDataEntry[] deArray = + entries.toArray(new ConfigurationDataEntry[entries.size()]); + configurationTableEntries.setArray(deArray); + } catch (InstantiationException ie) { + log("Error ", ie); + } catch (IllegalAccessException iae) { + log("Error ", iae); } + } else { + configurationTableEntries.setArray(null); } } @@ -679,7 +686,7 @@ } currentJob.setConfItems(new HashMap()); saveConfEntries(currentJob, - (ConfigurationDataEntry[])getSessionBean1().getConfigurationTableEntries().getArray()); + (ConfigurationDataEntry[])configurationTableEntries.getArray()); trx.commit(); // refresh data set getSessionBean1().getJobsDataProvider().refresh(); @@ -759,14 +766,19 @@ private void saveConfEntries(Job currentJob, ConfigurationDataEntry[] confEntries) { Session session = HibernateSessionFactory.getSession(); for (int i = 0; i < confEntries.length; i++) { + // #1638972 ConfigurationDataEntry ent = confEntries[i]; - if (ent.getValue() != null) { - if (!ent.getValue().equals(ent.getDefaultValue())) { - ConfigurationSetting conf = new ConfigurationSetting(ent.getKey(), ent.getValue(), currentJob); - session.save(conf); - currentJob.getConfItems().put(ent.getKey(), conf); - } + ConfigurationSettingId key = + new ConfigurationSettingId(ent.getKey(), currentJob); + ConfigurationSetting conf = + (ConfigurationSetting)session.get(ConfigurationSetting.class, + key); + if (conf == null) { + conf = new ConfigurationSetting(key, ent.getValue()); } + conf.setValue(ent.getValue()); + session.save(conf); + currentJob.getConfItems().put(ent.getKey(), conf); } } @@ -779,8 +791,7 @@ job.getConfigurationDataTable(); ConfigurationDataEntry[] deArray = entries.toArray(new ConfigurationDataEntry[entries.size()]); - getSessionBean1(). - getConfigurationTableEntries().setArray(deArray); + configurationTableEntries.setArray(deArray); } catch (ClassNotFoundException cnfe) { log("Error ", cnfe); } catch (InstantiationException ie) { Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/bo/ConfigurationBO.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/bo/ConfigurationBO.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/bo/ConfigurationBO.java 2007-01-20 15:47:38 UTC (rev 33) @@ -17,6 +17,7 @@ import de.sreindl.amavisadmin.db.ConfigurationDAO; import de.sreindl.amavisadmin.db.ConfigurationSetting; +import de.sreindl.amavisadmin.db.ConfigurationSettingId; import de.sreindl.amavisadmin.db.Job; import de.sreindl.amavisadmin.db.JobDAO; import de.sreindl.amavisadmin.db.util.HibernateSessionFactory; @@ -102,10 +103,8 @@ if (confMap != null) { ConfigurationSetting c = (ConfigurationSetting)confMap.get(key); if (c == null) { - c = new ConfigurationSetting(); - // 1638972 - c.setKey(key); - c.setJob(globalJob); + //# 1638972 + c = new ConfigurationSetting(new ConfigurationSettingId(key, globalJob)); } c.setValue(value); confMap.put(key, c); @@ -127,23 +126,21 @@ try { sess = HibernateSessionFactory.getSession(); trx = sess.beginTransaction(); + JobDAO jobDAO = new JobDAO(); + Job globalJob = jobDAO.findById(GLOBAL_JOB); Iterator i = confMap.keySet().iterator(); while (i.hasNext()) { String key = (String)i.next(); - ConfigurationSetting c = (ConfigurationSetting)confMap.get(key); - log.debug("Saving key " + c.getKey()); - if (c.getValue() == null) { - if (c.getVersion() != null && c.getVersion().intValue() >= 0) { - // value has been stored already --> delete - sess.delete(c); - } - } else if (c.getVersion() == null || c.getVersion().intValue() == 0) { - // new value - sess.saveOrUpdate(c); - } else { - // update - sess.update(c); + //#1638972 + log.debug("Saving key " + key); + ConfigurationSetting c = (ConfigurationSetting)sess.get( + ConfigurationSetting.class, + new ConfigurationSettingId(key, globalJob)); + if (c == null) { + c = new ConfigurationSetting(new ConfigurationSettingId(key, globalJob)); } + c.setValue(((ConfigurationSetting)confMap.get(key)).getValue()); + sess.saveOrUpdate(c); } trx.commit(); HibernateSessionFactory.closeSession(); @@ -194,7 +191,7 @@ // -1638972 while (i.hasNext()) { ConfigurationSetting c = (ConfigurationSetting)i.next(); - confMap.put(c.getKey(), c); + confMap.put(c.getId().getKey(), c); } if (sess.isDirty()) { log.fatal("Session is dirty???"); Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSetting.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSetting.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSetting.java 2007-01-20 15:47:38 UTC (rev 33) @@ -24,8 +24,8 @@ */ public abstract class AbstractConfigurationSetting implements Serializable { - - private String key; + // #1638972 + private AbstractConfigurationSettingId id; private Integer version; private String value; @@ -33,25 +33,15 @@ public AbstractConfigurationSetting() { } - public AbstractConfigurationSetting(String key, String value) { - this.key = key; - this.value = value; + public AbstractConfigurationSetting(AbstractConfigurationSettingId id) { + this.id = id; } - public AbstractConfigurationSetting(String key, String value, Job job) { - this.key = key; + public AbstractConfigurationSetting(AbstractConfigurationSettingId id, String value) { + this.id = id; this.value = value; - this.job = job; } - public String getKey() { - return key; - } - - public void setKey(String key) { - this.key = key; - } - public Integer getVersion() { return version; } @@ -88,5 +78,13 @@ public void setJob(Job job) { this.job = job; } + + public AbstractConfigurationSettingId getId() { + return id; + } + + public void setId(AbstractConfigurationSettingId id) { + this.id = id; + } } \ No newline at end of file Added: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSettingId.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSettingId.java (rev 0) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/AbstractConfigurationSettingId.java 2007-01-20 15:47:38 UTC (rev 33) @@ -0,0 +1,87 @@ +/* + * Copyright (C) 2007 Stephen Reindl + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/* + * AbstractConfigurationSettingId.java + * + * Created on 20. Januar 2007, 12:12 + * + */ + +package de.sreindl.amavisadmin.db; + +import java.io.Serializable; + +/** + * + * @author sreindl + */ +public class AbstractConfigurationSettingId implements Serializable { + private String key; + private Job job; + + + /** Creates a new instance of AbstractConfigurationSettingId */ + public AbstractConfigurationSettingId() { + } + + + + /** full constructor */ + public AbstractConfigurationSettingId(String key, Job job){ + setKey(key); + setJob(job); + } + + public boolean equals(Object other) { + if ( (this == other ) ) return true; + if ( (other == null ) ) return false; + if ( !(other instanceof AbstractConfigurationSettingId) ) return false; + AbstractConfigurationSettingId castOther = (AbstractConfigurationSettingId) other; + + return ( (this.getKey()==castOther.getKey()) || ( this.getKey()!=null && castOther.getKey()!=null && this.getKey().equals(castOther.getKey()) ) ) + && ( (this.getJob()==castOther.getJob()) || ( this.getJob()!=null && castOther.getJob()!=null && this.getJob().equals(castOther.getKey()) ) ); + } + + public int hashCode() { + int result = 17; + + result = 37 * result + ( getKey() == null ? 0 : this.getKey().hashCode() ); + result = 37 * result + ( getJob() == null ? 0 : this.getJob().hashCode() ); + return result; + } + + public String getKey() { + return key; + } + + public void setKey(String key) { + this.key = key; + } + + public Job getJob() { + return job; + } + + public void setJob(Job job) { + this.job = job; + } + + + + +} Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.hbm.xml =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.hbm.xml 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.hbm.xml 2007-01-20 15:47:38 UTC (rev 33) @@ -17,18 +17,22 @@ * limitations under the License. --> <hibernate-mapping> + <!-- #1638972 --> <class name="de.sreindl.amavisadmin.db.ConfigurationSetting" lazy="false" table="configuration" schema="public"> - <id name="key" > - <column name="key" length="64" /> - <generator class="assigned" /> - </id> + <composite-id name="id" class="de.sreindl.amavisadmin.db.ConfigurationSettingId" > + <key-property name="key" type="java.lang.String"> + <column name="key" length="64" not-null="true" /> + </key-property> + <key-many-to-one name="job" class="de.sreindl.amavisadmin.db.Job" foreign-key="configuration_fk1"> + <column name="job_ref" not-null="true" /> + </key-many-to-one> + </composite-id> <version name="version" type="java.lang.Integer" insert="false" > <column name="version" default="0" /> </version> <property name="value" type="java.lang.String"> <column name="value" not-null="true" /> </property> - <!-- #1638972 --> - <many-to-one name="job" column="job_ref" not-null="true" /> + <many-to-one name="job" column="job_ref" not-null="true" update="false" insert="false"/> </class> </hibernate-mapping> Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSetting.java 2007-01-20 15:47:38 UTC (rev 33) @@ -20,6 +20,8 @@ /** * Configuration Setting + * + * @bug 1638972 */ public class ConfigurationSetting extends AbstractConfigurationSetting implements Serializable { @@ -29,11 +31,11 @@ public ConfigurationSetting() { } - public ConfigurationSetting(String key, String value) { - super (key, value); + public ConfigurationSetting(ConfigurationSettingId id) { + super (id); } - - public ConfigurationSetting(String key, String value, Job job) { - super(key, value, job); + + public ConfigurationSetting(ConfigurationSettingId id, String value) { + super (id, value); } } Added: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSettingId.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSettingId.java (rev 0) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/ConfigurationSettingId.java 2007-01-20 15:47:38 UTC (rev 33) @@ -0,0 +1,47 @@ +/* + * Copyright (C) {YEAR!!} Stephen Reindl + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + * + */ + +/* + * ConfigurationSettingId.java + * + * Created on 20. Januar 2007, 12:20 + * + */ + +package de.sreindl.amavisadmin.db; + +import java.io.Serializable; + +/** + * Class representing the primary key for table configuration + * + * @author sreindl + * + * @bug 1638972 + */ +public class ConfigurationSettingId extends AbstractConfigurationSettingId implements Serializable { + + /** Creates a new instance of ConfigurationSettingId */ + public ConfigurationSettingId() { + } + + /** Creates a new instance of ConfigurationSettingId */ + public ConfigurationSettingId(String key, Job job) { + super (key, job); + } + +} Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Job.hbm.xml =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Job.hbm.xml 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Job.hbm.xml 2007-01-20 15:47:38 UTC (rev 33) @@ -17,7 +17,8 @@ * limitations under the License. --> <hibernate-mapping> - <class name="de.sreindl.amavisadmin.db.Job" table="jobs" schema="public"> + <!-- #1640285 --> + <class name="de.sreindl.amavisadmin.db.Job" table="job" schema="public"> <id name="jobName"> <column name="job_name" length="64" /> <generator class="assigned" /> Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/MailQueueReceipient.hbm.xml =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/MailQueueReceipient.hbm.xml 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/MailQueueReceipient.hbm.xml 2007-01-20 15:47:38 UTC (rev 33) @@ -17,11 +17,11 @@ * limitations under the License. --> <hibernate-mapping> - <class name="de.sreindl.amavisadmin.db.MailQueueReceipient" table="mail_queue_rcpts" schema="public"> + <class name="de.sreindl.amavisadmin.db.MailQueueReceipient" table="mail_queue_rcpt" schema="public"> <id name="id" type="java.lang.Integer" > <column name="id" /> <generator class="sequence"> - <param name="sequence">mail_queue_rcpts_id_seq</param> + <param name="sequence">mail_queue_rcpt_id_seq</param> </generator> </id> <version name="version" type="java.lang.Integer" unsaved-value="null" insert="false" > @@ -31,7 +31,7 @@ <column name="rcpt_type" check="rcpt_type IN ('T', 'C', 'B')" /> </property> <property name="receipient" type="java.lang.String" length="255" not-null="true" /> - <many-to-one name="mailQueueEntry" class="de.sreindl.amavisadmin.db.MailQueueEntry" > + <many-to-one name="mailQueueEntry" class="de.sreindl.amavisadmin.db.MailQueueEntry" foreign-key="mail_queue_rcpt_fk_1"> <column name="mail_queue_id" not-null="true" /> </many-to-one> </class> Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Request.hbm.xml =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Request.hbm.xml 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/db/Request.hbm.xml 2007-01-20 15:47:38 UTC (rev 33) @@ -17,10 +17,11 @@ * limitations under the License. --> <hibernate-mapping> - <class name="de.sreindl.amavisadmin.db.Request" table="requests" schema="public"> + <!-- #1640285 --> + <class name="de.sreindl.amavisadmin.db.Request" table="request" schema="public"> <id name="key" type="java.lang.String" unsaved-value="null"> <column name="key" /> - <generator class="assigned"></generator> + <generator class="assigned" /> </id> <version name="version" type="java.lang.Integer" insert="false" > <column name="version" default="0" /> Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/AdminNotifierJob.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/AdminNotifierJob.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/AdminNotifierJob.java 2007-01-20 15:47:38 UTC (rev 33) @@ -61,7 +61,8 @@ log.info("Starting new admin notifier job"); Session session = HibernateSessionFactory.getSession(); User user; - Query qry = session.createQuery("select count(*) from MsgRecipient where rs = :wait_ind"); + // #1639757 + Query qry = session.createQuery("select count(*) from MsgReceipient where rs = :wait_ind"); qry.setCharacter("wait_ind", MsgReceipientDAO.RS_REL_PENDING); BigInteger count = (BigInteger)qry.uniqueResult(); Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/MailSendJob.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/MailSendJob.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/MailSendJob.java 2007-01-20 15:47:38 UTC (rev 33) @@ -74,6 +74,8 @@ Iterator i = entries.iterator(); while (i.hasNext()) { MailQueueEntry entry = (MailQueueEntry)i.next(); + // #1639749 + MailHandler.sendSingleMail(entry, mailProperties); session.update(entry); } trx.commit(); @@ -104,7 +106,7 @@ entry.setRequired(true); entries.add(entry); // - entry = new ConfigurationDataEntry("amavisadmin.mailJob.debug", "Debug SMTP", "Print Debug statements for mail delivery. This is mainly used for debugging purposes"); + entry = new ConfigurationDataEntry("amavisadmin.mailJob.debugSMTP", "Debug SMTP", "Print Debug statements for mail delivery. This is mainly used for debugging purposes"); entry.setType(ConfigurationDataEntry.TYPE_CHECKBOX); entry.setDefaultValue("false"); entry.setRequired(true); @@ -155,7 +157,7 @@ if (conf != null && Boolean.getBoolean(conf.getValue())) { mailProperties.setProperty("amavisadmin.mailJob.debug", "true"); } - conf = (ConfigurationSetting)getConfItems().get("amavisadmin.mailJob.debug"); + conf = (ConfigurationSetting)getConfItems().get("amavisadmin.mailJob.debugSMTP"); if (conf != null && Boolean.getBoolean(conf.getValue())) { mailProperties.setProperty("mail.smtp.debug", "true"); } Modified: amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/ReminderJob.java =================================================================== --- amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/ReminderJob.java 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/src/java/de/sreindl/amavisadmin/jobs/ReminderJob.java 2007-01-20 15:47:38 UTC (rev 33) @@ -92,7 +92,9 @@ //qry.setString("email", user.getEmail()); qry.setDate("time_set", reminderDate.getTime()); int mailCount = ((BigInteger)qry.uniqueResult()).intValue(); - prepareMail(user, mailCount); + if (mailCount > 0) { // #1639740 + prepareMail(user, mailCount); + } } /** @@ -166,8 +168,10 @@ context.put("user", user); context.put("appTitle", ConfigurationBO.getConfValue(ConfigurationBO.APP_TITLE)); context.put("signature", ConfigurationBO.getConfValue(ConfigurationBO.APP_TITLE)); - context.put("baselink", ConfigurationBO.getConfValue(ConfigurationBO.CONF_BASE_URL) + "/"); + context.put("baselink", ConfigurationBO.getConfValue(ConfigurationBO.CONF_BASE_URL)); context.put("mailCount", Integer.valueOf(mailCount)); + // #1639740 + context.put("timeframe", Integer.valueOf(numDays)); Template lostPwd = Velocity.getTemplate("/de/sreindl/amavisadmin/templates/Reminder.vm"); StringWriter w = new StringWriter(); lostPwd.merge(context, w); Modified: amavisadmin/trunk/web/EditSingleJob.jsp =================================================================== --- amavisadmin/trunk/web/EditSingleJob.jsp 2007-01-18 21:53:25 UTC (rev 32) +++ amavisadmin/trunk/web/EditSingleJob.jsp 2007-01-20 15:47:38 UTC (rev 33) @@ -9,7 +9,8 @@ </ui:head> <ui:body binding="#{EditSingleJob.body1}" focus="form1:fldJobName" id="body1"> <jsp:directive.include file="Header.jspf"/> - <ui:form binding="#{EditSingleJob.form1}" id="form1"> + <!-- #1638972 --> + <ui:form binding="#{EditSingleJob.form1}" id="form1" virtualFormsConfig="baseDataForm | | , parameterForm | groupPanel1:gridPanel1:dropDown1 | groupPanel1:gridPanel1:dropDown1"> <ui:panelGroup binding="#{EditSingleJob.groupPanel1}" block="true" id="groupPanel1" style="margin: 5px; padding: 5px; "> <ui:panelGroup binding="#{EditSingleJob.groupPanel2}" id="groupPanel2"> <ui:button action="#{EditSingleJob.btnSave_action}" binding="#{EditSingleJob.btnSave}" id="btnSave" text="Save"/> This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |