You can subscribe to this list here.
| 2007 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
(275) |
Jul
(81) |
Aug
(19) |
Sep
(26) |
Oct
(190) |
Nov
(118) |
Dec
(16) |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 2008 |
Jan
(9) |
Feb
(318) |
Mar
(251) |
Apr
(354) |
May
(209) |
Jun
(261) |
Jul
(226) |
Aug
(136) |
Sep
(156) |
Oct
(30) |
Nov
(5) |
Dec
(13) |
| 2009 |
Jan
(26) |
Feb
(35) |
Mar
(63) |
Apr
(21) |
May
(26) |
Jun
(33) |
Jul
(55) |
Aug
(71) |
Sep
(23) |
Oct
(40) |
Nov
(18) |
Dec
(13) |
| 2010 |
Jan
(17) |
Feb
(98) |
Mar
(39) |
Apr
(25) |
May
(107) |
Jun
(257) |
Jul
(270) |
Aug
(206) |
Sep
(237) |
Oct
(187) |
Nov
(302) |
Dec
(187) |
| 2011 |
Jan
(63) |
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:31
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/ant In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons/ant Modified Files: WikiGet.java Added Files: DoubleVarcharSizes.java CreateBaseModelFromXml.java LowercaseTableNames.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) --- NEW FILE: DoubleVarcharSizes.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.commons.ant; import java.io.File; import java.io.IOException; import java.util.Iterator; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.xml.sax.SAXException; /** * The following class will go through all hbm.xml files and generate (Oracle) SQL commands * that will double the size of all varchars2. This is needed for Oracle when non-english characters * are used as these may take up to two spaces each. * * @author Tomas Muller * */ public class DoubleVarcharSizes extends Task { private SAXReader iSAXReader = null; private String iSource = null; private String iConfig = "hibernate.cfg.xml"; public DoubleVarcharSizes() throws DocumentException, SAXException { iSAXReader = new SAXReader(); iSAXReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); } public void setSource(String source) { iSource = source; } public void setConfig(String config) { iConfig = config; } protected Document read(String resource) throws IOException, DocumentException { if (iSource == null) { return iSAXReader.read(getClass().getClassLoader().getResourceAsStream(resource)); } else { return iSAXReader.read(new File(iSource + File.separator + resource)); } } protected void pretty(File f) { } public void execute() throws BuildException { try { generate(); } catch (Exception e) { throw new BuildException(e); } } public void info(String message) { try { log(message); } catch (Exception e) { System.out.println(message); } } public void warn(String message) { try { log(message, Project.MSG_WARN); } catch (Exception e) { System.out.println(message); } } public void generate() throws IOException, DocumentException { Document document = read(iConfig); Element root = document.getRootElement(); Element sessionFactoryElement = root.element("session-factory"); for (Iterator<Element> i = sessionFactoryElement.elementIterator("mapping"); i.hasNext(); ) { Element m = i.next(); String resource = m.attributeValue("resource"); if (resource == null) continue; generate(read(resource).getRootElement(), null); } } private void generate(Element element, String table) { table = element.attributeValue("table", table); if (table != null && "property".equals(element.getName())) { String column = element.attributeValue("column"); String type = element.attributeValue("type"); String length = element.attributeValue("length"); if (("String".equals(type) || "java.lang.String".equals(type)) && length != null && !length.isEmpty() && column != null && !column.isEmpty()) { int size = Integer.parseInt(length); info("alter table " + table + " modify " + column + " varchar2(" + Math.min(4000, 2 * size) + ");"); } } for (Iterator<Element> i = element.elementIterator(); i.hasNext(); ) { generate(i.next(), table); } } public static void main(String[] args) { try { DoubleVarcharSizes dvs = new DoubleVarcharSizes(); dvs.generate(); } catch (Exception e) { e.printStackTrace(); } } } Index: WikiGet.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/ant/WikiGet.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WikiGet.java 17 Jun 2008 21:25:01 -0000 1.4 --- WikiGet.java 1 Dec 2010 11:10:50 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,27 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.ant; ! import java.net.*; ! import java.io.*; import java.text.DecimalFormat; ! import java.util.*; import org.apache.tools.ant.BuildException; --- 15,37 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.ant; ! import java.io.BufferedReader; ! import java.io.File; ! import java.io.FileOutputStream; ! import java.io.FileWriter; ! import java.io.IOException; ! import java.io.InputStream; ! import java.io.InputStreamReader; ! import java.io.OutputStream; ! import java.io.PrintWriter; ! import java.net.MalformedURLException; ! import java.net.URL; import java.text.DecimalFormat; ! import java.util.HashSet; ! import java.util.Hashtable; import org.apache.tools.ant.BuildException; *************** *** 188,193 **** private class PageParser implements Parser { - private boolean iContent = false; - private String iTitle = null; private URL iURL = null; --- 198,201 ---- --- NEW FILE: CreateBaseModelFromXml.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.commons.ant; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileWriter; import java.io.IOException; import java.io.InputStream; import java.io.PrintWriter; import java.io.StringWriter; import java.util.Hashtable; import java.util.Iterator; import java.util.TreeSet; import java.util.Vector; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.SAXReader; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; /** * Creates base model from UniTime3 .hbm.xml files. * @author Tomas Muller * */ public class CreateBaseModelFromXml extends Task { private Hashtable<String, String> iParent = new Hashtable<String, String>(); private Hashtable<String, String[]> iIds = new Hashtable<String, String[]>(); private Hashtable<String, TreeSet<String>> iClassProperties = new Hashtable<String, TreeSet<String>>(); private SAXReader iSAXReader = null; private String iSource = null; private String iConfig = "hibernate.cfg.xml"; public CreateBaseModelFromXml() throws DocumentException { iSAXReader = new SAXReader(); iSAXReader.setEntityResolver(iEntityResolver); } private EntityResolver iEntityResolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { if (publicId.equals("-//Hibernate/Hibernate Mapping DTD 3.0//EN")) { InputStream stream = null; if (iSource == null) { stream = getClass().getClassLoader().getResourceAsStream("hibernate-mapping-3.0.dtd"); } else { try { stream = new FileInputStream(iSource + File.separator + "hibernate-mapping-3.0.dtd"); } catch (FileNotFoundException e) {} } return (stream == null ? null : new InputSource(stream)); } else if (publicId.equals("-//Hibernate/Hibernate Configuration DTD 3.0//EN")) { InputStream stream = null; if (iSource == null) { stream = getClass().getClassLoader().getResourceAsStream("hibernate-configuration-3.0.dtd"); } else { try { stream = new FileInputStream(iSource + File.separator + "hibernate-configuration-3.0.dtd"); } catch (FileNotFoundException e) {} } return (stream == null ? null : new InputSource(stream)); } return null; } }; public void setSource(String source) { iSource = source; } public void setConfig(String config) { iConfig = config; } protected Document read(String resource) throws IOException, DocumentException { if (iSource == null) { return iSAXReader.read(getClass().getClassLoader().getResourceAsStream(resource)); } else { return iSAXReader.read(new File(iSource + File.separator + resource)); } } @SuppressWarnings("unchecked") public void convert() throws IOException, DocumentException { info("Config: " + (iSource == null ? getClass().getClassLoader().getResource(iConfig) : iSource + File.separator + iConfig)); File workDir = null; if (iSource == null) { workDir = new File(getClass().getClassLoader().getResource(iConfig).getFile()); while (workDir.getParentFile() != null && !"WebContent".equals(workDir.getName())) workDir = workDir.getParentFile(); workDir = new File(workDir.getParentFile(), "JavaSource"); workDir.mkdirs(); } else { workDir = new File(iSource); } info("Working directory: " + workDir); info("Reading hibernate.cfg.xml ..."); Document document = read(iConfig); Element root = document.getRootElement(); Element sessionFactoryElement = root.element("session-factory"); for (Iterator<Element> i = sessionFactoryElement.elementIterator("mapping"); i.hasNext(); ) { Element m = i.next(); String resource = m.attributeValue("resource"); if (resource == null) continue; info("Pre-processing " + resource + " ..."); Document resDoc = read(resource); Element resRoot = resDoc.getRootElement(); String pkg = resRoot.attributeValue("package"); for (Iterator<Element> j = resRoot.elementIterator("class");j.hasNext(); ) { Element classEl = j.next(); preprocess(classEl, null, pkg); } } for (Iterator<Element> i = sessionFactoryElement.elementIterator("mapping"); i.hasNext(); ) { Element m = i.next(); String resource = m.attributeValue("resource"); if (resource == null) continue; info("Processing " + resource + " ..."); Document resDoc = read(resource); Element resRoot = resDoc.getRootElement(); String pkg = resRoot.attributeValue("package"); for (Iterator<Element> j = resRoot.elementIterator("class");j.hasNext(); ) { Element classEl = j.next(); importClass(classEl, pkg, workDir, null, null, null, null); } } info("All done."); } @SuppressWarnings("unchecked") private void preprocess(Element classEl, String ext, String pkg) throws IOException { String className = fixType(classEl.attributeValue("name"), pkg); if (className.indexOf('.') >= 0) className = className.substring(className.lastIndexOf('.')+1); if (ext!=null) iParent.put(className, ext); Element idEl = classEl.element("id"); if (idEl!=null) { String type = fixType(idEl.attributeValue("type"), pkg); String name = fixName(idEl.attributeValue("name")); iIds.put(className, new String[] {type, name}); } for (Iterator<Element> i=classEl.elementIterator("union-subclass");i.hasNext();) { preprocess(i.next(), className, pkg); } for (Iterator<Element> i=classEl.elementIterator("subclass");i.hasNext();) { preprocess(i.next(), className, pkg); } } /* @SuppressWarnings("unchecked") private String param(Element el, String name) { if (el==null) return null; for (Iterator<Element> i = el.elementIterator("param"); i.hasNext();) { Element p = i.next(); if (name.equals(p.attributeValue("name"))) return p.getText(); } return null; } */ private String fixType(String type, String pkg) { if (type == null) return null; if (type.startsWith("java.lang.")) return type.substring("java.lang.".length()); if (type.indexOf('.')<0) type = type.substring(0,1).toUpperCase() + type.substring(1); if ("Boolean".equals(type)) return type; if ("Long".equals(type)) return type; if ("Integer".equals(type)) return type; if ("String".equals(type)) return type; if ("Float".equals(type)) return type; if ("Double".equals(type)) return type; if (type.equals("java.sql.Date")) return "java.util.Date"; if (type.equalsIgnoreCase("java.sql.TimeStamp")) return "java.util.Date"; if (type.endsWith(".XmlBlobType")) return "org.dom4j.Document"; if (type.endsWith(".XmlClobType")) return "org.dom4j.Document"; if (type.startsWith("java.")) return type; if (type.indexOf('.') < 0) type = pkg+"."+type; return type; } private String fixName(String name) { if (name == null) return null; return name.substring(0,1).toUpperCase() + name.substring(1); } /* private boolean hasLength(String type) { if ("Boolean".equals(type)) return false; if ("Long".equals(type)) return false; if ("Integer".equals(type)) return false; if ("String".equals(type)) return true; if ("Float".equals(type)) return false; if ("Double".equals(type)) return false; if ("Date".equals(type)) return false; if ("XmlBlobType".equals(type)) return false; if ("XmlClobType".equals(type)) return false; warn("Unknown type "+type); return false; } */ private File fileFromPackage(File outputFolder, String pkg) { File ret = new File(outputFolder, pkg.replace('.', File.separatorChar)); ret.mkdirs(); return ret; } private void license(PrintWriter pw) { pw.println("/*"); pw.println(" * UniTime 3.2 (University Timetabling Application)"); pw.println(" * Copyright (C) 2010, UniTime LLC, and individual contributors"); pw.println(" * as indicated by the @authors tag."); pw.println(" *"); pw.println(" * This program is free software; you can redistribute it and/or modify"); pw.println(" * it under the terms of the GNU General Public License as published by"); pw.println(" * the Free Software Foundation; either version 3 of the License, or"); pw.println(" * (at your option) any later version."); pw.println(" * "); pw.println(" * This program is distributed in the hope that it will be useful,"); pw.println(" * but WITHOUT ANY WARRANTY; without even the implied warranty of"); pw.println(" * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the"); pw.println(" * GNU General Public License for more details."); pw.println(" * "); pw.println(" * You should have received a copy of the GNU General Public License along"); pw.println(" * with this program. If not, see <http://www.gnu.org/licenses/>."); pw.println(" * "); pw.println("*/"); } @SuppressWarnings("unchecked") private void importClass(Element classEl, String pkg, File outputFolder, String ext, String idClass, String idName, String idType) throws IOException { String className = fixType(classEl.attributeValue("name"), pkg); @SuppressWarnings("unused") String table = classEl.attributeValue("table"); StringWriter attributes = new StringWriter(); PrintWriter pwa = new PrintWriter(attributes); StringWriter props = new StringWriter(); PrintWriter pwp = new PrintWriter(props); StringWriter body = new StringWriter(); PrintWriter pwb = new PrintWriter(body); TreeSet<String> imports = new TreeSet<String>(); if (className.indexOf('.') >= 0) { //imports.add(className); className = className.substring(className.lastIndexOf('.')+1); } info(" "+className+" ..."); Vector<String[]> manyToOnes = new Vector<String[]>(); TreeSet<String> properties = new TreeSet<String>(); Vector<String[]> compositeId = new Vector<String[]>(); /* Element discriminator = classEl.element("discriminator"); String discriminatorColumn = null; if (discriminator!=null) { discriminatorColumn = discriminator.attributeValue("column").toLowerCase(); } */ boolean hasProperty = false; for (Iterator<Element> i = classEl.elementIterator("id"); i.hasNext();) { Element el = i.next(); String type = fixType(el.attributeValue("type"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } String name = fixName(el.attributeValue("name")); String column = el.attributeValue("column").toLowerCase(); String attribute = name.substring(0,1).toLowerCase()+name.substring(1); if ("default".equals(attribute)) attribute = "defaultValue"; idName = name; idType = type; pwa.println(" private "+type+" i"+name+";"); pwp.println(" public static String PROP_"+column.toUpperCase()+" = \""+name.substring(0, 1).toLowerCase()+name.substring(1)+"\";"); properties.add(name); pwb.println(); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+attribute+") { i"+name+" = "+attribute+"; }"); hasProperty = true; } for (Iterator<Element> i = classEl.elementIterator("composite-id"); i.hasNext();) { Element cidEl = i.next(); for (Iterator<Element> j = cidEl.elementIterator("key-many-to-one"); j.hasNext();) { Element el = j.next(); String type = fixType(el.attributeValue("class"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } String name = fixName(el.attributeValue("name")); // String column = el.attributeValue("column").toLowerCase(); String attribute = name.substring(0,1).toLowerCase()+name.substring(1); if ("default".equals(attribute)) attribute = "defaultValue"; pwa.println(" private "+type+" i"+name+";"); properties.add(name); compositeId.add(new String[] {type, name}); pwb.println(); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+attribute+") { i"+name+" = "+attribute+"; }"); hasProperty = true; } for (Iterator<Element> j = cidEl.elementIterator("key-property"); j.hasNext();) { Element el = j.next(); String type = fixType(el.attributeValue("type"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } String name = fixName(el.attributeValue("name")); // boolean notNul = "true".equals(el.attributeValue("not-null")); // int length = Integer.parseInt(el.attributeValue("length","0")); // String column = el.attributeValue("column"); String attribute = name.substring(0,1).toLowerCase()+name.substring(1); if ("default".equals(attribute)) attribute = "defaultValue"; compositeId.add(new String[] {type, name}); pwa.println(" private "+type+" i"+name+";"); properties.add(name); pwb.println(); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+attribute+") { i"+name+" = "+attribute+"; }"); hasProperty = true; } } for (Iterator<Element> i = classEl.elementIterator("property"); i.hasNext();) { Element el = i.next(); String type = fixType(el.attributeValue("type"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } String name = fixName(el.attributeValue("name")); // boolean notNul = "true".equals(el.attributeValue("not-null")); // int length = Integer.parseInt(el.attributeValue("length","0")); String column = el.attributeValue("column"); String formula = el.attributeValue("formula"); String attribute = name.substring(0,1).toLowerCase()+name.substring(1); if ("default".equals(attribute)) attribute = "defaultValue"; if (column!=null) { pwa.println(" private "+type+" i"+name+";"); properties.add(name); pwb.println(); pwp.println(" public static String PROP_"+column.toUpperCase()+" = \""+name.substring(0, 1).toLowerCase()+name.substring(1)+"\";"); if (type.equals("Boolean")) pwb.println(" public "+type+" is"+name+"() { return i"+name+"; }"); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+attribute+") { i"+name+" = "+attribute+"; }"); } else if (formula!=null) { pwa.println(" private "+type+" i"+name+";"); pwb.println(); if (type.equals("Boolean")) pwb.println(" public "+type+" is"+name+"() { return i"+name+"; }"); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+attribute+") { i"+name+" = "+attribute+"; }"); } else { System.err.println("Unknown "+el.getName()+": "+el.asXML()); } hasProperty = true; } if (hasProperty) pwa.println(); for (Iterator<Element> i = classEl.elementIterator("many-to-one"); i.hasNext();) { Element el = i.next(); String type = fixType(el.attributeValue("class"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } // boolean lazy = "true".equals(el.attributeValue("lazy","false")); // boolean eager = "false".equals(el.attributeValue("lazy","true")); String name = fixName(el.attributeValue("name")); // boolean notNul = "true".equals(el.attributeValue("not-null")); String column = el.attributeValue("column"); String formula = el.attributeValue("formula"); if (column!=null) { pwa.println(" private "+type+" i"+name+";"); properties.add(name); pwb.println(); manyToOnes.add(new String[] {type, name}); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+name.substring(0,1).toLowerCase()+name.substring(1)+") { i"+name+" = "+name.substring(0,1).toLowerCase()+name.substring(1)+"; }"); } else if (formula!=null) { pwa.println(" private "+type+" i"+name+";"); pwb.println(); pwb.println(" public "+type+" get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"("+type+" "+name.substring(0,1).toLowerCase()+name.substring(1)+") { i"+name+" = "+name.substring(0,1).toLowerCase()+name.substring(1)+"; }"); } else { System.err.println("Unknown "+el.getName()+": "+el.asXML()); } } for (Iterator<Element> i = classEl.elementIterator("set"); i.hasNext();) { Element el = i.next(); String type = null; String name = fixName(el.attributeValue("name")); // boolean lazy = "true".equals(el.attributeValue("lazy","false")); // boolean eager = "false".equals(el.attributeValue("lazy","true")); // String cascade = el.attributeValue("cascade"); pwb.println(); if (el.element("many-to-many")!=null) { // String column = el.element("key").attributeValue("column").toLowerCase(); // String icolumn = el.element("many-to-many").attributeValue("column").toLowerCase(); // String m2mtable = el.attributeValue("table").toLowerCase(); type = fixType(el.element("many-to-many").attributeValue("class"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } } else if (el.element("one-to-many")!=null) { // String column = el.element("key").attributeValue("column").toLowerCase(); type = fixType(el.element("one-to-many").attributeValue("class"), pkg); if (type.indexOf('.')>=0) { imports.add(type); type = type.substring(type.lastIndexOf('.')+1); } } else { System.err.println("Unknown type of set"); } if (type.indexOf('.')>=0) imports.add(type); imports.add("java.util.Set"); imports.add("java.util.HashSet"); pwa.println(" private Set<"+type+"> i"+name+";"); pwb.println(" public Set<"+type+"> get"+name+"() { return i"+name+"; }"); pwb.println(" public void set"+name+"(Set<"+type+"> "+name.substring(0,1).toLowerCase()+name.substring(1)+") { i"+name+" = "+name.substring(0,1).toLowerCase()+name.substring(1)+"; }"); pwb.println(" public void addTo"+name.substring(0,1).toLowerCase()+name.substring(1)+"("+type+" "+type.substring(0, 1).toLowerCase()+type.substring(1)+") {"); pwb.println(" if (i"+name+" == null) i"+name+" = new HashSet<"+type+">();"); pwb.println(" i"+name+".add("+type.substring(0, 1).toLowerCase()+type.substring(1)+");"); pwb.println(" }"); } pwa.flush(); pwa.close(); pwb.flush(); pwb.close(); pwp.flush(); pwp.close(); imports.add("java.io.Serializable"); boolean abs = "true".equals(classEl.attributeValue("abstract","false")); ext = fixType(ext, pkg); if (ext != null && ext.indexOf('.')>=0) { imports.add(ext); ext = ext.substring(ext.lastIndexOf('.')+1); } if (idName != null || !compositeId.isEmpty()) imports.add(fixType(classEl.attributeValue("name"), pkg)); // Base class PrintWriter pw = new PrintWriter(new FileWriter(new File(fileFromPackage(outputFolder, pkg + ".base"), "Base" + className + ".java"))); license(pw); pw.println("package "+pkg+".base;"); pw.println(); String last = null; for (String imp: imports) { String top = imp.substring(0, imp.indexOf('.')); if (last!=null && !last.equals(top)) pw.println(); pw.println("import "+imp+";"); last = top; } pw.println(); pw.println("public abstract class Base"+className+(ext==null?"":" extends "+ext)+" implements Serializable {"); pw.println(" private static final long serialVersionUID = 1L;"); pw.println(); pw.print(attributes.getBuffer()); pw.println(); pw.print(props.getBuffer()); pw.println(); pw.println(" public Base"+className+"() {"); pw.println(" initialize();"); pw.println(" }"); if (idName != null) { String x = idName.substring(0,1).toLowerCase()+idName.substring(1); pw.println(); pw.println(" public Base"+className+"("+idType+" "+x+") {"); pw.println(" set"+idName+"(" + x + ");"); pw.println(" initialize();"); pw.println(" }"); } pw.println(); pw.println(" protected void initialize() {}"); pw.print(body.getBuffer()); iClassProperties.put(className, properties); if (ext!=null && iClassProperties.containsKey(ext)) { properties.addAll(iClassProperties.get(ext)); } if (idName!=null) { if (idClass==null) idClass = className; pw.println(); pw.println(" public boolean equals(Object o) {"); pw.println(" if (o == null || !(o instanceof "+className+")) return false;"); pw.println(" if (get"+idName+"() == null || (("+className+")o).get"+idName+"() == null) return false;"); pw.println(" return get"+idName+"().equals((("+className+")o).get"+idName+"());"); pw.println(" }"); pw.println(); pw.println(" public int hashCode() {"); pw.println(" if (get"+idName+"() == null) return super.hashCode();"); pw.println(" return get"+idName+"().hashCode();"); pw.println(" }"); pw.println(); pw.println(" public String toString() {"); if (properties.contains("Name")) pw.println(" return \""+className+"[\"+get"+idName+"()+\" \"+getName()+\"]\";"); else if (properties.contains("Label")) pw.println(" return \""+className+"[\"+get"+idName+"()+\" \"+getLabel()+\"]\";"); else pw.println(" return \""+className+"[\"+get"+idName+"()+\"]\";"); pw.println(" }"); } else if (!compositeId.isEmpty()) { String x = className.substring(0,1).toLowerCase()+className.substring(1); pw.println(); pw.println(" public boolean equals(Object o) {"); pw.println(" if (o == null || !(o instanceof "+className+")) return false;"); pw.println(" "+className+" "+x+" = ("+className+")o;"); for (String[] typeName: compositeId) { String name = typeName[1]; pw.println(" if (get"+name+"() == null || "+x+".get"+name+"() == null || !get"+name+"().equals("+x+".get"+name+"())) return false;"); } pw.println(" return true;"); pw.println(" }"); pw.println(); pw.println(" public int hashCode() {"); String xor = "", isNull = ""; for (String[] typeName: compositeId) { String name = typeName[1]; if (!xor.isEmpty()) { xor += " ^ "; isNull += " || "; } xor += "get"+name+"().hashCode()"; isNull += "get"+name+"() == null"; } pw.println(" if ("+isNull+") return super.hashCode();"); pw.println(" return "+xor+";"); pw.println(" }"); pw.println(); pw.println(" public String toString() {"); String names = ""; for (String[] typeName: compositeId) { String name = typeName[1]; if (!names.isEmpty()) names += " + \", \" + "; names += "get"+name+"()"; } pw.println(" return \""+className+"[\" + "+names+" + \"]\";"); pw.println(" }"); } pw.println(); pw.println(" public String toDebugString() {"); pw.println(" return \""+className+"[\" +"); for (String p: properties) pw.println(" \"\\n "+p+": \" + get"+p+"() +"); pw.println(" \"]\";"); pw.println(" }"); pw.println("}"); pw.flush(); pw.close(); for (Iterator<Element> i=classEl.elementIterator("union-subclass");i.hasNext();) { importClass(i.next(), pkg, outputFolder, className, idClass, idName, idType); } for (Iterator<Element> i=classEl.elementIterator("subclass");i.hasNext();) { importClass(i.next(), pkg, outputFolder, className, idClass, idName, idType); } // Main class File mainFile = new File(fileFromPackage(outputFolder, pkg), className + ".java"); if (!mainFile.exists()) { pw = new PrintWriter(new FileWriter(mainFile)); license(pw); pw.println("package "+pkg+";"); pw.println(); pw.println("import "+pkg+".base.Base"+className+";"); pw.println(); pw.println("public"+(abs?" abstract":"")+" class "+className+" extends Base"+className+" {"); pw.println(); pw.println(" public " + className + "() {"); pw.println(" super();"); pw.println(" }"); pw.println(); pw.println("}"); pw.flush(); pw.close(); } // BASE DAO class pw = new PrintWriter(new FileWriter(new File(fileFromPackage(outputFolder, pkg + ".base"), "Base" + className + "DAO.java"))); license(pw); pw.println("package "+pkg+".base;"); pw.println(); if (idType == null) pw.println("import java.io.Serializable;"); if (!manyToOnes.isEmpty()) pw.println("import java.util.List;"); if (idType == null || !manyToOnes.isEmpty()) pw.println(); // pw.println("import org.hibernate.Hibernate;"); // pw.println("import org.hibernate.criterion.Order;"); // pw.println(); pw.println("import "+pkg+"."+className+";"); pw.println("import "+pkg+".dao._RootDAO;"); pw.println("import "+pkg+".dao."+className+"DAO;"); pw.println(); pw.println("public abstract class Base"+className+"DAO"+" extends _RootDAO<"+className+","+(idType==null?"Serializable":idType)+"> {"); pw.println(); pw.println(" private static "+className+"DAO sInstance;"); pw.println(); pw.println(" public static "+className+"DAO getInstance() {"); pw.println(" if (sInstance == null) sInstance = new "+className+"DAO();"); pw.println(" return sInstance;"); pw.println(" }"); pw.println(); pw.println(" public Class<"+className+"> getReferenceClass() {"); pw.println(" return "+className+".class;"); pw.println(" }"); /* pw.println(); pw.println(" public Order getDefaultOrder () {"); pw.println(" return null;"); pw.println(" }"); String y = className.substring(0,1).toLowerCase()+className.substring(1); if (idName!=null) { String x = idName.substring(0,1).toLowerCase()+idName.substring(1); pw.println(); pw.println(" public "+className+" get("+idType+" "+x+") {"); pw.println(" return ("+className+") get(getReferenceClass(), "+x+");"); pw.println(" }"); pw.println(); pw.println(" public "+className+" get("+idType+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" return ("+className+") get(getReferenceClass(), "+x+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public "+className+" load("+idType+" "+x+") {"); pw.println(" return ("+className+") load(getReferenceClass(), "+x+");"); pw.println(" }"); pw.println(); pw.println(" public "+className+" load("+idType+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" return ("+className+") load(getReferenceClass(), "+x+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public "+className+" loadInitialize("+idType+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" "+className+" "+y+" = load("+x+", hibSession);"); pw.println(" if (!Hibernate.isInitialized("+y+")) Hibernate.initialize("+y+");"); pw.println(" return "+y+";"); pw.println(" }"); } else { if (idClass==null) idClass = className; String x = "key"; pw.println(); pw.println(" public "+className+" get("+idClass+" "+x+") {"); pw.println(" return ("+className+") get(getReferenceClass(), "+x+");"); pw.println(" }"); pw.println(); pw.println(" public "+className+" get("+idClass+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" return ("+className+") get(getReferenceClass(), "+x+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public "+className+" load("+idClass+" "+x+") {"); pw.println(" return ("+className+") load(getReferenceClass(), "+x+");"); pw.println(" }"); pw.println(); pw.println(" public "+className+" load("+idClass+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" return ("+className+") load(getReferenceClass(), "+x+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public "+className+" loadInitialize("+idClass+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" "+className+" "+y+" = load("+x+", hibSession);"); pw.println(" if (!Hibernate.isInitialized("+y+")) Hibernate.initialize("+y+");"); pw.println(" return "+y+";"); pw.println(" }"); } pw.println(); pw.println(" public void save("+className+" "+y+") {"); pw.println(" save((Object) "+y+");"); pw.println(" }"); pw.println(); pw.println(" public void save("+className+" "+y+", org.hibernate.Session hibSession) {"); pw.println(" save((Object) "+y+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public void saveOrUpdate("+className+" "+y+") {"); pw.println(" saveOrUpdate((Object) "+y+");"); pw.println(" }"); pw.println(); pw.println(" public void saveOrUpdate("+className+" "+y+", org.hibernate.Session hibSession) {"); pw.println(" saveOrUpdate((Object) "+y+", hibSession);"); pw.println(" }"); pw.println(); pw.println(); pw.println(" public void update("+className+" "+y+") {"); pw.println(" update((Object) "+y+");"); pw.println(" }"); pw.println(); pw.println(" public void update("+className+" "+y+", org.hibernate.Session hibSession) {"); pw.println(" update((Object) "+y+", hibSession);"); pw.println(" }"); pw.println(); if (idName!=null) { if (idClass==null) idClass = className; String x = idName.substring(0,1).toLowerCase()+idName.substring(1); if (idType.equals("String")) { pw.println(" public void delete(Object "+x+") {"); pw.println(" if ("+x+" instanceof String)"); pw.println(" delete((Object) load((String)"+x+"));"); pw.println(" else"); pw.println(" super.delete("+x+");"); pw.println(" }"); pw.println(); pw.println(" public void delete(Object "+x+", org.hibernate.Session hibSession) {"); pw.println(" if ("+x+" instanceof String)"); pw.println(" delete((Object) load((String)"+x+", hibSession), hibSession);"); pw.println(" else"); pw.println(" super.delete("+x+", hibSession);"); pw.println(" }"); } else { pw.println(" public void delete("+idType+" "+x+") {"); pw.println(" delete(load("+x+"));"); pw.println(" }"); pw.println(); pw.println(" public void delete("+idType+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" delete(load("+x+", hibSession), hibSession);"); pw.println(" }"); } } pw.println(); pw.println(" public void delete("+className+" "+y+") {"); pw.println(" delete((Object) "+y+");"); pw.println(" }"); pw.println(); pw.println(" public void delete("+className+" "+y+", org.hibernate.Session hibSession) {"); pw.println(" delete((Object) "+y+", hibSession);"); pw.println(" }"); pw.println(); pw.println(" public void refresh("+className+" "+y+", org.hibernate.Session hibSession) {"); pw.println(" refresh((Object) "+y+", hibSession);"); pw.println(" }"); if (!abs) { pw.println(); pw.println(" @SuppressWarnings(\"unchecked\")"); pw.println(" public List<"+className+"> findAll(org.hibernate.Session hibSession) {"); pw.println(" return hibSession.createQuery(\"from "+className+"\").list();"); pw.println(" }"); } */ /* if (idType != null && idName != null) { String x = idName.substring(0,1).toLowerCase()+idName.substring(1); pw.println(); pw.println(" public void delete("+idType+" "+x+") {"); pw.println(" delete(load("+x+"));"); pw.println(" }"); pw.println(); pw.println(" public void delete("+idType+" "+x+", org.hibernate.Session hibSession) {"); pw.println(" delete(load("+x+", hibSession), hibSession);"); pw.println(" }"); } */ for (String[] attr: manyToOnes) { String type = attr[0]; String name = attr[1]; String x = name.substring(0,1).toLowerCase()+name.substring(1); String[] id = iIds.get(type); String iType = "Long"; String iName = "UniqueId"; if (id!=null) { iType = id[0]; iName = id[1]; } /* pw.println(); pw.println(" public List<"+className+"> findBy"+name+"(org.hibernate.Session hibSession, "+type+" "+x+") {"); pw.println(" return hibSession.createQuery(\"from "+className+" x where x."+x+"."+iName.substring(0,1).toLowerCase()+iName.substring(1)+" = :"+x+"Id\").set"+iType+"(\""+x+"Id\", "+x+".get"+iName+"()).list();"); pw.println(" }"); */ pw.println(); pw.println(" @SuppressWarnings(\"unchecked\")"); pw.println(" public List<"+className+"> findBy"+name+"(org.hibernate.Session hibSession, "+iType+" "+x+"Id) {"); pw.println(" return hibSession.createQuery(\"from "+className+" x where x."+x+"."+iName.substring(0,1).toLowerCase()+iName.substring(1)+" = :"+x+"Id\").set"+iType+"(\""+x+"Id\", "+x+"Id).list();"); pw.println(" }"); } pw.println("}"); pw.flush(); pw.close(); // DAO class File daoFile = new File(fileFromPackage(outputFolder, pkg+".dao"), className + "DAO.java"); if (!daoFile.exists()) { pw = new PrintWriter(new FileWriter(daoFile)); license(pw); pw.println("package "+pkg+".dao;"); pw.println(); pw.println("import "+pkg+".base.Base"+className+"DAO;"); pw.println(); pw.println("public"+(abs?" abstract":"")+" class "+className+"DAO extends Base"+className+"DAO {"); pw.println(); pw.println(" public " + className + "DAO() {}"); pw.println(); pw.println("}"); pw.flush(); pw.close(); } } public void execute() throws BuildException { try { convert(); } catch (Exception e) { throw new BuildException(e); } } public void info(String message) { try { log(message); } catch (Exception e) { System.out.println(message); } } public void warn(String message) { try { log(message, Project.MSG_WARN); } catch (Exception e) { System.out.println(message); } } public static void main(String[] args) { try { new CreateBaseModelFromXml().convert(); } catch (Exception e) { e.printStackTrace(); } } } --- NEW FILE: LowercaseTableNames.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.commons.ant; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.UnsupportedEncodingException; import java.util.Iterator; import org.apache.tools.ant.BuildException; import org.apache.tools.ant.Project; import org.apache.tools.ant.Task; import org.dom4j.Attribute; import org.dom4j.Comment; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.Node; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.xml.sax.EntityResolver; import org.xml.sax.InputSource; import org.xml.sax.SAXException; /** * Lower case table, column and sequence names, and foreign keys in .hbm.xml files. * This should negate the need to set MySQL to case insensitive mode on Linux based systems. * * @author Tomas Muller * */ public class LowercaseTableNames extends Task { private SAXReader iSAXReader = null; private String iSource = null; private String iConfig = "hibernate.cfg.xml"; public LowercaseTableNames() throws DocumentException, SAXException { iSAXReader = new SAXReader(); iSAXReader.setEntityResolver(iEntityResolver); iSAXReader.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd", false); } private EntityResolver iEntityResolver = new EntityResolver() { public InputSource resolveEntity(String publicId, String systemId) { if (publicId.equals("-//Hibernate/Hibernate Mapping DTD 3.0//EN")) { InputStream stream = null; if (iSource == null) { stream = getClass().getClassLoader().getResourceAsStream("hibernate-mapping-3.0.dtd"); } else { try { stream = new FileInputStream(iSource + File.separator + "hibernate-mapping-3.0.dtd"); } catch (FileNotFoundException e) {} } return (stream == null ? null : new InputSource(stream)); } else if (publicId.equals("-//Hibernate/Hibernate Configuration DTD 3.0//EN")) { InputStream stream = null; if (iSource == null) { stream = getClass().getClassLoader().getResourceAsStream("hibernate-configuration-3.0.dtd"); } else { try { stream = new FileInputStream(iSource + File.separator + "hibernate-configuration-3.0.dtd"); } catch (FileNotFoundException e) {} } return (stream == null ? null : new InputSource(stream)); } return null; } }; public void setSource(String source) { iSource = source; } public void setConfig(String config) { iConfig = config; } protected Document read(String resource) throws IOException, DocumentException { if (iSource == null) { info(" -- reading " + resource + " ..."); return iSAXReader.read(getClass().getClassLoader().getResourceAsStream(resource)); } else { info(" -- reading " + iSource + File.separator + resource + " ..."); return iSAXReader.read(new File(iSource + File.separator + resource)); } } protected void write(String resource, Document document) throws IOException, DocumentException { File file = null; if (iSource == null) { file = new File(getClass().getClassLoader().getResource(resource).getFile()); } else { file = new File(iSource + File.separator + resource); } info(" -- writing " + file + " ..."); FileOutputStream fos = new FileOutputStream(file); try { OutputFormat format = OutputFormat.createPrettyPrint(); format.setIndentSize(4); format.setPadText(false); new MyXMLWriter(fos, format).write(document); } finally { fos.flush(); fos.close(); } } protected void pretty(File f) { } public void execute() throws BuildException { try { convert(); } catch (Exception e) { throw new BuildException(e); } } public void info(String message) { try { log(message); } catch (Exception e) { System.out.println(message); } } public void warn(String message) { try { log(message, Project.MSG_WARN); } catch (Exception e) { System.out.println(message); } } public void convert() throws IOException, DocumentException { info("Config: " + (iSource == null ? getClass().getClassLoader().getResource(iConfig) : iSource + File.separator + iConfig)); File workDir = null; if (iSource == null) { workDir = new File(getClass().getClassLoader().getResource(iConfig).getFile()); while (workDir.getParentFile() != null && !"WebContent".equals(workDir.getName())) workDir = workDir.getParentFile(); workDir = new File(workDir.getParentFile(), "JavaSource"); workDir.mkdirs(); } else { workDir = new File(iSource); } info("Working directory: " + workDir); info("Reading hibernate.cfg.xml ..."); Document document = read(iConfig); Element root = document.getRootElement(); Element sessionFactoryElement = root.element("session-factory"); for (Iterator<Element> i = sessionFactoryElement.elementIterator("mapping"); i.hasNext(); ) { Element m = i.next(); String resource = m.attributeValue("resource"); if (resource == null) continue; info("Processing " + resource + " ..."); Document resDoc = read(resource); convert(resDoc.getRootElement()); write(resource, resDoc); } } private String[] sAttributes = new String[] { "table", "sequence", "column", "foreign-key", "order-by" }; private String[] sFormulas = new String[] { "formula", "where" }; private String lowerFormula(String formula) { boolean quot = false; String ret = ""; for (int i = 0; i < formula.length(); i++) { char ch = formula.charAt(i); if (ch == '\'') quot = !quot; ret += (quot ? ch : Character.toLowerCase(ch)); } return ret.replace("%schema%", "%SCHEMA%").replace("/*+ rule */", "/*+ RULE */"); } private void convert(Element element) { for (Iterator<Attribute> i = element.attributeIterator(); i.hasNext(); ) { Attribute attribute = i.next(); for (String name: sAttributes) { if (name.equals(attribute.getName())) { if (!attribute.getValue().equals(attribute.getValue().toLowerCase())) { info(" -- converting " + name + " " + attribute.getValue() + " to " + attribute.getValue().toLowerCase()); } attribute.setValue(attribute.getValue().toLowerCase()); } } for (String name: sFormulas) { if (name.equals(attribute.getName())) { if (!lowerFormula(attribute.getValue()).equals(attribute.getValue())) { info(" -- converting "+name+": " + attribute.getValue()); info(" -- into : " + lowerFormula(attribute.getValue())); } attribute.setValue(lowerFormula(attribute.getValue())); } } } if (element.getName().equals("param")) { for (String name: sAttributes) { if (name.equals(element.attributeValue("name", ""))) { if (!element.getText().equals(element.getText().toLowerCase())) { info(" -- converting " + name + " " + element.getText() + " to " + element.getText().toLowerCase()); } element.setText(element.getText().toLowerCase()); } } } for (Iterator<Element> i = element.elementIterator(); i.hasNext(); ) { convert(i.next()); } } public static void main(String[] args) { try { LowercaseTableNames ltn = new LowercaseTableNames(); ltn.setSource("/Users/muller/Sources/UniTime/JavaSource"); ltn.convert(); } catch (Exception e) { e.printStackTrace(); } } private class MyXMLWriter extends XMLWriter { private OutputFormat format; private int indentLevel = 0; public MyXMLWriter(OutputStream out, OutputFormat format) throws UnsupportedEncodingException { super(out, format); this.format = format; } protected void indent() throws IOException { String indent = format.getIndent(); if ((indent != null) && (indent.length() > 0)) { for (int i = 0; i < indentLevel; i++) { writer.write(indent); } } } protected void writeAttributes(Element element) throws IOException { for (int i = 0, size = element.attributeCount(); i < size; i++) { Attribute attribute = element.attribute(i); char quote = format.getAttributeQuoteCharacter(); if (element.attributeCount() > 2) { writePrintln(); indent(); writer.write(format.getIndent()); } else { writer.write(" "); } writer.write(attribute.getQualifiedName()); writer.write("="); writer.write(quote); writeEscapeAttributeEntities(attribute.getValue()); writer.write(quote); } } protected void writeElement(Element element) throws IOException { int size = element.nodeCount(); String qualifiedName = element.getQualifiedName(); writePrintln(); indent(); writer.write("<"); writer.write(qualifiedName); boolean textOnly = true; for (int i = 0; i < size; i++) { Node node = element.node(i); if (node instanceof Element) { textOnly = false; } else if (node instanceof Comment) { textOnly = false; } } writeAttributes(element); lastOutputNodeType = Node.ELEMENT_NODE; if (size <= 0) { writeEmptyElementClose(qualifiedName); } else { writer.write(">"); if (textOnly) { // we have at least one text node so lets assume // that its non-empty writeElementContent(element); } else { if (element.attributeCount() > 3) writePrintln(); // we know it's not null or empty from above ++indentLevel; writeElementContent(element); --indentLevel; writePrintln(); indent(); } writer.write("</"); writer.write(qualifiedName); writer.write(">"); } if (element.attributeCount() > 2 && indentLevel > 0) writePrintln(); lastOutputNodeType = Node.ELEMENT_NODE; } } } |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/id In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons/hibernate/id Modified Files: UniqueIdGenerator.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: UniqueIdGenerator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/id/UniqueIdGenerator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** UniqueIdGenerator.java 17 Jun 2008 21:25:03 -0000 1.2 --- UniqueIdGenerator.java 1 Dec 2010 11:10:52 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.hibernate.id; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.hibernate.id; *************** *** 26,29 **** --- 26,30 ---- import org.hibernate.MappingException; import org.hibernate.cfg.Configuration; + import org.hibernate.cfg.ObjectNameNormalizer; import org.hibernate.dialect.Dialect; import org.hibernate.engine.SessionImplementor; *************** *** 39,42 **** --- 40,44 ---- private static String sGenClass = null; private static String sDefaultSchema = null; + private static ObjectNameNormalizer sNormalizer = null; public static void configure(Configuration config) { *************** *** 44,47 **** --- 46,50 ---- if (sGenClass==null) sGenClass = "org.hibernate.id.SequenceGenerator"; sDefaultSchema = config.getProperty("default_schema"); + sNormalizer = config.createMappings().getObjectNameNormalizer(); } *************** *** 65,70 **** public void configure(Type type, Properties params, Dialect d) throws MappingException { if (getGenerator() instanceof Configurable) { ! if (params.getProperty("schema")==null && sDefaultSchema!=null) params.setProperty("schema", sDefaultSchema); ((Configurable)getGenerator()).configure(type, params, d); } --- 68,75 ---- public void configure(Type type, Properties params, Dialect d) throws MappingException { if (getGenerator() instanceof Configurable) { ! if (params.getProperty("schema") == null && sDefaultSchema != null) params.setProperty("schema", sDefaultSchema); + if (params.get("identifier_normalizer") == null && sNormalizer != null) + params.put("identifier_normalizer", sNormalizer); ((Configurable)getGenerator()).configure(type, params, d); } |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/WebContent/help In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/help Modified Files: Release-Notes.css Release-Notes.xml Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: Release-Notes.css =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/help/Release-Notes.css,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Release-Notes.css 17 Jun 2008 21:25:03 -0000 1.2 --- Release-Notes.css 1 Dec 2010 11:10:52 -0000 1.3 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ doc-title { --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ doc-title { Index: Release-Notes.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/help/Release-Notes.xml,v retrieving revision 1.71 retrieving revision 1.72 diff -C2 -d -r1.71 -r1.72 *** Release-Notes.xml 24 Nov 2010 17:45:30 -0000 1.71 --- Release-Notes.xml 1 Dec 2010 11:10:52 -0000 1.72 *************** *** 2,11 **** <?xml-stylesheet type="text/css" href="Release-Notes.css"?> <!-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * [...2297 lines suppressed...] ! <line>Fixed a bug that was introduced in October 2009 -- exam print offset got completely ignored.</line> ! <line>Fixes related to an old date patterns change (adding extra 3 months before and after the data pattern, from Jul) ! <line>Exam print offset got completely ignored</line> ! <line>Week filter on Timetable page fixed</line> ! <line>Course timetabling solver -- room availability was incorrect (all meetings got shifted by these 3 months).</line> ! <line>Room Allocation report (Solution Reports page) fixed.</line> </line> ! <line>Add Event: Changed location search to use an in statement when searching for room groups rather than an or statement. This makes the search more efficient.</line> ! <line>Examination conflicts: query returning overlapping course meetings with required attendance improved</line> ! <line>Add Event: fixed a problem with creating a course event with >1000 students</line> ! <line>Enrollment Audits: Ensure the correct enrollment is used for the audit results when a student is enrolled in multiple names of a cross listed course.</line> ! <line>Edit Date Pattern: fixed ArrayIndexOutOfBoundsException when pattern offset is negative, assumption about the days of weeks corrected</line> ! <line>Class Assignment: remove all related constraint infos to avoid hibernate cache issues when an orphaned constraint info is automatically deleted ! <line>This should fix the ObjectNotFoundException on the Class Assignment page</line> </line> ! <line>Student sectioning: check for LazyInitializationException during save</line> ! <line>Remote solver server: added ability to override database connection string by the tmtbl.solver.connection.url property</line> ! <line>Examination verification report: limit the length of the scheduling note to fit within one line</line> </description> </item> |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/webutil Modified Files: WebClassAssignmentReportListTableBuilder.java TimetableManagerBuilder.java RequiredTimeTable.java PdfWebTable.java ReservationsTableBuilder.java Navigation.java WebInstructionalOfferingTableBuilder.java EventEmail.java WebInstrOfferingConfigTableBuilder.java WebSubpartClassListTableBuilder.java BackTracker.java DistributionPrefsTableBuilder.java ExamDistributionPrefsTableBuilder.java CsvClassAssignmentExport.java DesignatorListBuilder.java InstructorListBuilder.java WebTextValidation.java WebClassListTableBuilder.java JavascriptFunctions.java CalendarEventTableBuilder.java WebEventTableBuilder.java RequiredTimeTableModel.java SchedulingSubpartTableBuilder.java Added Files: CsvEventTableBuilder.java Removed Files: WebCurriculumTableBuilder.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: WebInstructionalOfferingTableBuilder.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/WebInstructionalOfferingTableBuilder.java,v retrieving revision 1.17 retrieving revision 1.18 diff -C2 -d -r1.17 -r1.18 *** WebInstructionalOfferingTableBuilder.java 21 May 2010 11:39:29 -0000 1.17 --- WebInstructionalOfferingTableBuilder.java 1 Dec 2010 11:10:48 -0000 1.18 *************** *** 1,4 **** /* ! * UniTime 3.1 (University Timetabling Application) * Copyright (C) 2008-2009, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2008-2009, UniTime LLC, and individual contributors * as indicated by the @authors tag. *************** *** 6,10 **** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 6,10 ---- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; *************** *** 26,29 **** --- 26,30 ---- import java.util.Collections; import java.util.Comparator; + import java.util.Enumeration; import java.util.Iterator; import java.util.Locale; *************** *** 35,40 **** import javax.servlet.jsp.JspWriter; - import net.sf.cpsolver.coursett.model.TimeLocation.IntEnumeration; - import org.unitime.commons.Debug; import org.unitime.commons.User; --- 36,39 ---- *************** *** 88,92 **** protected static String indent = " "; ! protected static String oddRowBGColor = "#DFE7F2"; protected static String oddRowBGColorChild = "#EFEFEF"; protected static String oddRowMouseOverBGColor = "#8EACD0"; --- 87,91 ---- protected static String indent = " "; ! protected static String oddRowBGColor = "#f1f3f9"; protected static String oddRowBGColorChild = "#EFEFEF"; protected static String oddRowMouseOverBGColor = "#8EACD0"; *************** *** 359,369 **** cell.addContent(content); cell.addContent("</font>"); return(cell); } - private TableCell initCell(boolean isEditable, String onClick){ - return (initCell(isEditable, onClick, 1, false)); - } - private TableCell initCell(boolean isEditable, String onClick, int cols){ return (initCell(isEditable, onClick, cols, false)); --- 358,365 ---- cell.addContent(content); cell.addContent("</font>"); + cell.setStyleClass("WebTableHeader"); return(cell); } private TableCell initCell(boolean isEditable, String onClick, int cols){ return (initCell(isEditable, onClick, cols, false)); *************** *** 413,422 **** if (isShowLabel()){ cell = this.headerCell(LABEL, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowDivSec()){ cell = this.headerCell(DIV_SEC, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } --- 409,416 ---- *************** *** 427,485 **** cell = this.headerCell(("Last " + DEMAND), 2, 1); } - cell.addContent("<hr>"); row.addContent(cell); } if (isShowProjectedDemand()){ cell = this.headerCell(PROJECTED_DEMAND, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowLimit()){ cell = this.headerCell(LIMIT, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowRoomRatio()){ cell = this.headerCell(ROOM_RATIO, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowManager()){ cell = this.headerCell(MANAGER, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowDatePattern()){ cell = this.headerCell(DATE_PATTERN, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowMinPerWk()){ cell = this.headerCell(MIN_PER_WK, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowTimePattern()){ cell = this.headerCell(TIME_PATTERN, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowPreferences()){ ! row.addContent(headerCell("----" + PREFERENCES + "----", 1, PREFERENCE_COLUMN_ORDER.length + (iDisplayDistributionPrefs?0:-1))); for(int j = 0; j < PREFERENCE_COLUMN_ORDER.length+(iDisplayDistributionPrefs?0:-1); j++){ ! row2.addContent(headerCell(PREFERENCE_COLUMN_ORDER[j] + "<hr>", 1, 1)); } } if (isShowInstructor()){ cell = this.headerCell(INSTRUCTOR, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (getDisplayTimetable() && isShowTimetable()){ ! row.addContent(headerCell("--------" + TIMETABLE + "--------", 1, TIMETABLE_COLUMN_ORDER.length)); for(int j = 0; j < TIMETABLE_COLUMN_ORDER.length; j++){ cell = headerCell(TIMETABLE_COLUMN_ORDER[j], 1, 1); - cell.addContent("<hr>"); cell.setNoWrap(true); row2.addContent(cell); } --- 421,478 ---- cell = this.headerCell(("Last " + DEMAND), 2, 1); } row.addContent(cell); } if (isShowProjectedDemand()){ cell = this.headerCell(PROJECTED_DEMAND, 2, 1); row.addContent(cell); } if (isShowLimit()){ cell = this.headerCell(LIMIT, 2, 1); row.addContent(cell); } if (isShowRoomRatio()){ cell = this.headerCell(ROOM_RATIO, 2, 1); row.addContent(cell); } if (isShowManager()){ cell = this.headerCell(MANAGER, 2, 1); row.addContent(cell); } if (isShowDatePattern()){ cell = this.headerCell(DATE_PATTERN, 2, 1); row.addContent(cell); } if (isShowMinPerWk()){ cell = this.headerCell(MIN_PER_WK, 2, 1); row.addContent(cell); } if (isShowTimePattern()){ cell = this.headerCell(TIME_PATTERN, 2, 1); row.addContent(cell); } if (isShowPreferences()){ ! cell = headerCell("----" + PREFERENCES + "----", 1, PREFERENCE_COLUMN_ORDER.length + (iDisplayDistributionPrefs?0:-1)); ! cell.setStyleClass("WebTableHeaderFirstRow"); ! cell.setAlign("center"); ! row.addContent(cell); for(int j = 0; j < PREFERENCE_COLUMN_ORDER.length+(iDisplayDistributionPrefs?0:-1); j++){ ! cell = headerCell(PREFERENCE_COLUMN_ORDER[j], 1, 1); ! cell.setStyleClass("WebTableHeaderSecondRow"); ! row2.addContent(cell); } } if (isShowInstructor()){ cell = this.headerCell(INSTRUCTOR, 2, 1); row.addContent(cell); } if (getDisplayTimetable() && isShowTimetable()){ ! cell = headerCell("--------" + TIMETABLE + "--------", 1, TIMETABLE_COLUMN_ORDER.length); ! cell.setStyleClass("WebTableHeaderFirstRow"); ! cell.setAlign("center"); ! row.addContent(cell); for(int j = 0; j < TIMETABLE_COLUMN_ORDER.length; j++){ cell = headerCell(TIMETABLE_COLUMN_ORDER[j], 1, 1); cell.setNoWrap(true); + cell.setStyleClass("WebTableHeaderSecondRow"); row2.addContent(cell); } *************** *** 487,541 **** if (isShowTitle()){ cell = this.headerCell(TITLE, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowCredit()){ cell = this.headerCell(CREDIT, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowSubpartCredit()){ cell = this.headerCell(SCHEDULING_SUBPART_CREDIT, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowConsent()){ cell = this.headerCell(CONSENT, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowDesignatorRequired()){ cell = this.headerCell(DESIGNATOR_REQ, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowSchedulePrintNote()){ cell = this.headerCell(this.getSchedulePrintNoteLabel(), 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowNote()){ cell = this.headerCell(NOTE, 2, 1); - cell.addContent("<hr>"); row.addContent(cell); } if (isShowExam()) { cell = headerCell("-----------" + EXAM + "--------", 1, (isShowExamName()?1:0)+(isShowExamTimetable()?2:0)); cell.setNoWrap(true); row.addContent(cell); if (isShowExamName()) { cell = headerCell(EXAM_NAME, 1, 1); - cell.addContent("<hr>"); cell.setNoWrap(true); row2.addContent(cell); } if (isShowExamTimetable()) { cell = headerCell(EXAM_PER, 1, 1); - cell.addContent("<hr>"); cell.setNoWrap(true); row2.addContent(cell); cell = headerCell(EXAM_ROOM, 1, 1); - cell.addContent("<hr>"); cell.setNoWrap(true); row2.addContent(cell); --- 480,529 ---- if (isShowTitle()){ cell = this.headerCell(TITLE, 2, 1); row.addContent(cell); } if (isShowCredit()){ cell = this.headerCell(CREDIT, 2, 1); row.addContent(cell); } if (isShowSubpartCredit()){ cell = this.headerCell(SCHEDULING_SUBPART_CREDIT, 2, 1); row.addContent(cell); } if (isShowConsent()){ cell = this.headerCell(CONSENT, 2, 1); row.addContent(cell); } if (isShowDesignatorRequired()){ cell = this.headerCell(DESIGNATOR_REQ, 2, 1); row.addContent(cell); } if (isShowSchedulePrintNote()){ cell = this.headerCell(this.getSchedulePrintNoteLabel(), 2, 1); row.addContent(cell); } if (isShowNote()){ cell = this.headerCell(NOTE, 2, 1); row.addContent(cell); } if (isShowExam()) { cell = headerCell("-----------" + EXAM + "--------", 1, (isShowExamName()?1:0)+(isShowExamTimetable()?2:0)); + cell.setStyleClass("WebTableHeaderFirstRow"); + cell.setAlign("center"); cell.setNoWrap(true); row.addContent(cell); if (isShowExamName()) { cell = headerCell(EXAM_NAME, 1, 1); cell.setNoWrap(true); + cell.setStyleClass("WebTableHeaderSecondRow"); row2.addContent(cell); } if (isShowExamTimetable()) { cell = headerCell(EXAM_PER, 1, 1); cell.setNoWrap(true); + cell.setStyleClass("WebTableHeaderSecondRow"); row2.addContent(cell); cell = headerCell(EXAM_ROOM, 1, 1); cell.setNoWrap(true); + cell.setStyleClass("WebTableHeaderSecondRow"); row2.addContent(cell); *************** *** 941,945 **** boolean hasNote = false; for (Iterator i=s.iterator(); i.hasNext(); ) { - String crsNote = null; CourseOffering coI = (CourseOffering) i.next(); if (coI.getScheduleBookNote()!=null && coI.getScheduleBookNote().trim().length()>0) { --- 929,932 ---- *************** *** 1085,1091 **** sb.append("<font color='"+(isEditable?PreferenceLevel.int2color(info.getTimePreference()):disabledColor)+"'>"); } ! IntEnumeration e = a.getTimeLocation().getDays(); while (e.hasMoreElements()){ ! sb.append(Constants.DAY_NAMES_SHORT[(int)e.nextInt()]); } sb.append(" "); --- 1072,1078 ---- sb.append("<font color='"+(isEditable?PreferenceLevel.int2color(info.getTimePreference()):disabledColor)+"'>"); } ! Enumeration<Integer> e = a.getTimeLocation().getDays(); while (e.hasMoreElements()){ ! sb.append(Constants.DAY_NAMES_SHORT[e.nextElement()]); } sb.append(" "); *************** *** 1707,1711 **** protected TableStream initTable(JspWriter outputStream, Long sessionId){ TableStream table = new TableStream(outputStream); ! table.setWidth("90%"); table.setBorder(0); table.setCellSpacing(0); --- 1694,1698 ---- protected TableStream initTable(JspWriter outputStream, Long sessionId){ TableStream table = new TableStream(outputStream); ! table.setWidth("100%"); table.setBorder(0); table.setCellSpacing(0); Index: JavascriptFunctions.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/JavascriptFunctions.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** JavascriptFunctions.java 17 Jun 2008 21:24:51 -0000 1.3 --- JavascriptFunctions.java 1 Dec 2010 11:10:48 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; Index: Navigation.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/Navigation.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Navigation.java 17 Jun 2008 21:24:51 -0000 1.2 --- Navigation.java 1 Dec 2010 11:10:48 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; Index: ReservationsTableBuilder.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/ReservationsTableBuilder.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ReservationsTableBuilder.java 17 Jun 2008 21:24:51 -0000 1.4 --- ReservationsTableBuilder.java 1 Dec 2010 11:10:48 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; *************** *** 103,107 **** new String[] {"left", "left", "center", "center", "center"}, new boolean[] {true, true, true, true, true} ); ! individualResvTbl.enableHR("#EFEFEF"); } --- 103,107 ---- new String[] {"left", "left", "center", "center", "center"}, new boolean[] {true, true, true, true, true} ); ! //individualResvTbl.enableHR("#EFEFEF"); } *************** *** 135,139 **** new String[] {"left", "left", "center", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true} ); ! stuGroupResvTbl.enableHR("#EFEFEF"); } --- 135,139 ---- new String[] {"left", "left", "center", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true} ); ! //stuGroupResvTbl.enableHR("#EFEFEF"); } *************** *** 169,173 **** new String[] {"left", "left", "left", "center", "right", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true, true} ); ! acadAreaResvTbl.enableHR("#EFEFEF"); } --- 169,173 ---- new String[] {"left", "left", "left", "center", "right", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true, true} ); ! //acadAreaResvTbl.enableHR("#EFEFEF"); } *************** *** 211,215 **** new String[] {"left", "left", "left", "center", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true} ); ! posResvTbl.enableHR("#EFEFEF"); } --- 211,215 ---- new String[] {"left", "left", "left", "center", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true} ); ! //posResvTbl.enableHR("#EFEFEF"); } *************** *** 258,262 **** new String[] {"left", "left", "center", "right", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true} ); ! courseOffrResvTbl.enableHR("#EFEFEF"); } --- 258,262 ---- new String[] {"left", "left", "center", "right", "right", "right", "right"}, new boolean[] {true, true, true, true, true, true, true} ); ! //courseOffrResvTbl.enableHR("#EFEFEF"); } *************** *** 358,362 **** align = "left"; ! return "<TABLE border='0' " + width + " align='" + align + "' " + style + " cellpadding='2' cellspacing='4'>" + str + "</TABLE>"; } --- 358,362 ---- align = "left"; ! return "<TABLE border='0' " + width + " align='" + align + "' " + style + " cellpadding='2' cellspacing='0'>" + str + "</TABLE>"; } *************** *** 495,500 **** //Build Main Table ! WebTable mainTbl = new WebTable(1, "", new String[] {""}, new String[] {"left"}, null); ! mainTbl.enableHR("#ABABAB"); mainTbl.setSuppressRowHighlight(true); --- 495,500 ---- //Build Main Table ! WebTable mainTbl = new WebTable(1, "", null, null, null); ! //mainTbl.enableHR("#ABABAB"); mainTbl.setSuppressRowHighlight(true); *************** *** 747,752 **** //Build Main Table ! WebTable mainTbl = new WebTable(1, "Reservations", new String[] {""}, new String[] {"left"}, null); ! mainTbl.enableHR("#ABABAB"); mainTbl.setSuppressRowHighlight(true); --- 747,752 ---- //Build Main Table ! WebTable mainTbl = new WebTable(1, "Reservations", null, null, null); ! //mainTbl.enableHR("#ABABAB"); mainTbl.setSuppressRowHighlight(true); Index: TimetableManagerBuilder.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/TimetableManagerBuilder.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** TimetableManagerBuilder.java 28 Aug 2009 16:20:56 -0000 1.8 --- TimetableManagerBuilder.java 1 Dec 2010 11:10:48 -0000 1.9 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; *************** *** 216,222 **** ChangeLog lastChange = (changes==null || changes.isEmpty()?null:(ChangeLog)changes.get(0)); if (html) ! lastChangeStr = (lastChange==null?" ":"<span title='"+lastChange.getLabel(request)+"'>"+lastChange.getSourceTitle(request)+" ("+lastChange.getOperationTitle(request)+") on "+ChangeLog.sDFdate.format(lastChange.getTimeStamp())+"</span>"); else ! lastChangeStr = (lastChange==null?"":lastChange.getSourceTitle(request)+" ("+lastChange.getOperationTitle(request)+") on "+ChangeLog.sDFdate.format(lastChange.getTimeStamp())); lastChangeCmp = new Long(lastChange==null?0:lastChange.getTimeStamp().getTime()); } --- 216,222 ---- ChangeLog lastChange = (changes==null || changes.isEmpty()?null:(ChangeLog)changes.get(0)); if (html) ! lastChangeStr = (lastChange==null?" ":"<span title='"+lastChange.getLabel()+"'>"+lastChange.getSourceTitle()+" ("+lastChange.getOperationTitle()+") on "+ChangeLog.sDFdate.format(lastChange.getTimeStamp())+"</span>"); else ! lastChangeStr = (lastChange==null?"":lastChange.getSourceTitle()+" ("+lastChange.getOperationTitle()+") on "+ChangeLog.sDFdate.format(lastChange.getTimeStamp())); lastChangeCmp = new Long(lastChange==null?0:lastChange.getTimeStamp().getTime()); } Index: WebClassAssignmentReportListTableBuilder.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/WebClassAssignmentReportListTableBuilder.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WebClassAssignmentReportListTableBuilder.java 29 Mar 2009 15:04:03 -0000 1.4 --- WebClassAssignmentReportListTableBuilder.java 1 Dec 2010 11:10:48 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; Index: WebClassListTableBuilder.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/WebClassListTableBuilder.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** WebClassListTableBuilder.java 29 Mar 2009 15:04:03 -0000 1.4 --- WebClassListTableBuilder.java 1 Dec 2010 11:10:48 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; *************** *** 61,65 **** public class WebClassListTableBuilder extends WebInstructionalOfferingTableBuilder { - private static String formName = "classListForm"; public static String STUDENT_SCHEDULE_NOTE = "Student Schedule Note"; protected String getSchedulePrintNoteLabel(){ --- 61,64 ---- Index: PdfWebTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/PdfWebTable.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PdfWebTable.java 7 Feb 2010 09:02:09 -0000 1.5 --- PdfWebTable.java 1 Dec 2010 11:10:48 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; *************** *** 31,46 **** import org.unitime.timetable.util.PdfEventHandler; ! import com.lowagie.text.Chunk; ! import com.lowagie.text.Document; ! import com.lowagie.text.Element; ! import com.lowagie.text.Font; ! import com.lowagie.text.FontFactory; ! import com.lowagie.text.Image; ! import com.lowagie.text.PageSize; ! import com.lowagie.text.Paragraph; ! import com.lowagie.text.Rectangle; ! import com.lowagie.text.pdf.PdfPCell; ! import com.lowagie.text.pdf.PdfPTable; ! import com.lowagie.text.pdf.PdfWriter; --- 31,47 ---- import org.unitime.timetable.util.PdfEventHandler; ! import com.itextpdf.text.BaseColor; ! import com.itextpdf.text.Chunk; ! import com.itextpdf.text.Document; ! import com.itextpdf.text.Element; ! import com.itextpdf.text.Font; ! import com.itextpdf.text.FontFactory; ! import com.itextpdf.text.Image; ! import com.itextpdf.text.PageSize; ! import com.itextpdf.text.Paragraph; ! import com.itextpdf.text.Rectangle; ! import com.itextpdf.text.pdf.PdfPCell; ! import com.itextpdf.text.pdf.PdfPTable; ! import com.itextpdf.text.pdf.PdfWriter; *************** *** 65,69 **** private PdfPCell createCell() { PdfPCell cell = new PdfPCell(); ! cell.setBorderColor(Color.BLACK); cell.setPadding(3); cell.setBorderWidth(0); --- 66,70 ---- private PdfPCell createCell() { PdfPCell cell = new PdfPCell(); ! cell.setBorderColor(BaseColor.BLACK); cell.setPadding(3); cell.setBorderWidth(0); *************** *** 97,103 **** if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = Math.max(width,font.getBaseFont().getWidthPoint(s.nextToken(), font.size())); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.size())); return width; } --- 98,104 ---- if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = Math.max(width,font.getBaseFont().getWidthPoint(s.nextToken(), font.getSize())); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.getSize())); return width; } *************** *** 108,118 **** if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = font.getBaseFont().getWidthPoint(s.nextToken(), font.size()); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.size())); return width; } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, Color color, Color bgColor) { Font font = FontFactory.getFont(FontFactory.HELVETICA, 12, (underline?Font.UNDERLINE:0)+(italic&&bold?Font.BOLDITALIC:italic?Font.ITALIC:bold?Font.BOLD:Font.NORMAL), color); Chunk chunk = new Chunk(text,font); --- 109,119 ---- if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = font.getBaseFont().getWidthPoint(s.nextToken(), font.getSize()); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.getSize())); return width; } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, BaseColor color, BaseColor bgColor) { Font font = FontFactory.getFont(FontFactory.HELVETICA, 12, (underline?Font.UNDERLINE:0)+(italic&&bold?Font.BOLDITALIC:italic?Font.ITALIC:bold?Font.BOLD:Font.NORMAL), color); Chunk chunk = new Chunk(text,font); *************** *** 128,139 **** if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = Math.max(width,font.getBaseFont().getWidthPoint(s.nextToken(), font.size())); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.size())); return width; } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, Color color, ! boolean borderTop, boolean borderBottom, boolean borderLeft, boolean borderRight, Color borderColor, Color bgColor ) { cell.setBorderWidth(1); --- 129,140 ---- if (text.indexOf('\n')>=0) { for (StringTokenizer s = new StringTokenizer(text,"\n"); s.hasMoreTokens();) ! width = Math.max(width,font.getBaseFont().getWidthPoint(s.nextToken(), font.getSize())); } else ! width = Math.max(width,font.getBaseFont().getWidthPoint(text, font.getSize())); return width; } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, BaseColor color, ! boolean borderTop, boolean borderBottom, boolean borderLeft, boolean borderRight, BaseColor borderColor, BaseColor bgColor ) { cell.setBorderWidth(1); *************** *** 142,146 **** cell.setBorder(PdfPCell.TOP); if (borderColor==null) ! cell.setBorderColorTop(Color.BLACK); else cell.setBorderColorTop(borderColor); --- 143,147 ---- cell.setBorder(PdfPCell.TOP); if (borderColor==null) ! cell.setBorderColorTop(BaseColor.BLACK); else cell.setBorderColorTop(borderColor); *************** *** 150,154 **** cell.setBorder(PdfPCell.BOTTOM); if (borderColor==null) ! cell.setBorderColorBottom(Color.BLACK); else cell.setBorderColorBottom(borderColor); --- 151,155 ---- cell.setBorder(PdfPCell.BOTTOM); if (borderColor==null) ! cell.setBorderColorBottom(BaseColor.BLACK); else cell.setBorderColorBottom(borderColor); *************** *** 158,162 **** cell.setBorder(PdfPCell.LEFT); if (borderColor==null) ! cell.setBorderColorLeft(Color.BLACK); else cell.setBorderColorLeft(borderColor); --- 159,163 ---- cell.setBorder(PdfPCell.LEFT); if (borderColor==null) ! cell.setBorderColorLeft(BaseColor.BLACK); else cell.setBorderColorLeft(borderColor); *************** *** 166,170 **** cell.setBorder(PdfPCell.RIGHT); if (borderColor==null) ! cell.setBorderColorRight(Color.BLACK); else cell.setBorderColorRight(borderColor); --- 167,171 ---- cell.setBorder(PdfPCell.RIGHT); if (borderColor==null) ! cell.setBorderColorRight(BaseColor.BLACK); else cell.setBorderColorRight(borderColor); *************** *** 174,179 **** } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, Color color, ! boolean border, Color borderColor, Color bgColor) { if (border) { --- 175,180 ---- } ! private float addText(PdfPCell cell, String text, boolean bold, boolean italic, boolean underline, BaseColor color, ! boolean border, BaseColor borderColor, BaseColor bgColor) { if (border) { *************** *** 181,185 **** cell.setBorder(PdfPCell.RIGHT | PdfPCell.LEFT | PdfPCell.TOP | PdfPCell.BOTTOM ); if (borderColor==null) ! cell.setBorderColor(Color.BLACK); else cell.setBorderColor(borderColor); --- 182,186 ---- cell.setBorder(PdfPCell.RIGHT | PdfPCell.LEFT | PdfPCell.TOP | PdfPCell.BOTTOM ); if (borderColor==null) ! cell.setBorderColor(BaseColor.BLACK); else cell.setBorderColor(borderColor); *************** *** 190,199 **** private float addText(PdfPCell cell, String text, boolean bold) { ! if (text==null) return addText(cell, "", bold, false, false, Color.BLACK, null); ! if (text.indexOf("@@")<0) return addText(cell, text, bold, false, false, Color.BLACK, null); ! Color color = Color.BLACK; ! Color bcolor = Color.BLACK; ! Color bgColor = null; boolean bd=bold, it=false, un=false; boolean ba=false, bt=false, bb=false, bl=false, br=false; --- 191,200 ---- private float addText(PdfPCell cell, String text, boolean bold) { ! if (text==null) return addText(cell, "", bold, false, false, BaseColor.BLACK, null); ! if (text.indexOf("@@")<0) return addText(cell, text, bold, false, false, BaseColor.BLACK, null); ! BaseColor color = BaseColor.BLACK; ! BaseColor bcolor = BaseColor.BLACK; ! BaseColor bgColor = null; boolean bd=bold, it=false, un=false; boolean ba=false, bt=false, bb=false, bl=false, br=false; *************** *** 250,262 **** String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! color = new Color(Integer.parseInt(hex,16)); } if ("END_COLOR".equals(cmd)) { ! color = Color.BLACK; } if ("BGCOLOR".equals(cmd)) { String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! bgColor = new Color(Integer.parseInt(hex,16)); } if ("END_BGCOLOR".equals(cmd)) { --- 251,263 ---- String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! color = new BaseColor(Integer.parseInt(hex,16)); } if ("END_COLOR".equals(cmd)) { ! color = BaseColor.BLACK; } if ("BGCOLOR".equals(cmd)) { String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! bgColor = new BaseColor(Integer.parseInt(hex,16)); } if ("END_BGCOLOR".equals(cmd)) { *************** *** 274,278 **** String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! bcolor = new Color(Integer.parseInt(hex,16)); if ("BORDER_ALL".equals(cmd)) { --- 275,279 ---- String hex = line.substring(pos, line.indexOf(' ',pos)); pos+=hex.length()+1; ! bcolor = new BaseColor(Integer.parseInt(hex,16)); if ("BORDER_ALL".equals(cmd)) { *************** *** 408,412 **** totalWidth += 25f+widths[i]; ! totalWidth = Math.max(PageSize.LETTER.height(), totalWidth); return totalWidth; --- 409,413 ---- totalWidth += 25f+widths[i]; ! totalWidth = Math.max(PageSize.LETTER.getHeight(), totalWidth); return totalWidth; Index: EventEmail.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/EventEmail.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** EventEmail.java 8 Feb 2010 20:59:31 -0000 1.14 --- EventEmail.java 1 Dec 2010 11:10:48 -0000 1.15 *************** *** 1,2 **** --- 1,21 ---- + /* + * UniTime 3.2 (University Timetabling Application) + * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors + * as indicated by the @authors tag. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.unitime.timetable.webutil; *************** *** 5,26 **** import java.io.PrintWriter; import java.text.SimpleDateFormat; - import java.util.Date; - import java.util.Properties; import java.util.StringTokenizer; import java.util.TreeSet; - import javax.mail.Authenticator; - import javax.mail.Multipart; - import javax.mail.PasswordAuthentication; - import javax.mail.Transport; - import javax.mail.Message.RecipientType; - import javax.mail.internet.InternetAddress; - import javax.mail.internet.MimeBodyPart; - import javax.mail.internet.MimeMessage; - import javax.mail.internet.MimeMultipart; import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.unitime.commons.User; import org.unitime.commons.web.Web; --- 24,36 ---- import java.io.PrintWriter; import java.text.SimpleDateFormat; import java.util.StringTokenizer; import java.util.TreeSet; import javax.servlet.http.HttpServletRequest; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; + import org.apache.struts.upload.FormFile; + import org.unitime.commons.Email; import org.unitime.commons.User; import org.unitime.commons.web.Web; *************** *** 38,41 **** --- 48,52 ---- private String iNote = null; private int iAction = sActionCreate; + private FormFile iAttachement = null; public static final int sActionCreate = 0; *************** *** 45,54 **** public static final int sActionUpdate = 4; public static final int sActionDelete = 5; ! public EventEmail(Event event, int action, TreeSet<MultiMeeting> meetings, String note) { iEvent = event; iAction = action; iMeetings = meetings; iNote = note; } --- 56,67 ---- public static final int sActionUpdate = 4; public static final int sActionDelete = 5; + public static final int sActionInquire = 6; ! public EventEmail(Event event, int action, TreeSet<MultiMeeting> meetings, String note, FormFile attachement) { iEvent = event; iAction = action; iMeetings = meetings; iNote = note; + iAttachement = attachement; } *************** *** 59,63 **** User user = Web.getUser(request.getSession()); if (Roles.ADMIN_ROLE.equals(user.getRole()) || Roles.EVENT_MGR_ROLE.equals(user.getRole())) { ! if (iAction!=sActionReject && iAction!=sActionApprove) return; } --- 72,76 ---- User user = Web.getUser(request.getSession()); if (Roles.ADMIN_ROLE.equals(user.getRole()) || Roles.EVENT_MGR_ROLE.equals(user.getRole())) { ! if (iAction!=sActionReject && iAction!=sActionApprove && iAction!=sActionInquire) return; } *************** *** 81,87 **** subject = "Event "+iEvent.getEventName()+" updated (one or more meetings deleted)."; break; } ! if (!"true".equals(ApplicationProperties.getProperty("tmtbl.event.confirmationEmail","true"))) { request.getSession().setAttribute(Constants.REQUEST_MSSG, "Confirmation emails are disabled."); return; --- 94,103 ---- subject = "Event "+iEvent.getEventName()+" updated (one or more meetings deleted)."; break; + case sActionInquire : + subject = "Event "+iEvent.getEventName()+" inquiry."; + break; } ! if (!"true".equals(ApplicationProperties.getProperty("unitime.email.confirm.event", ApplicationProperties.getProperty("tmtbl.event.confirmationEmail","true")))) { request.getSession().setAttribute(Constants.REQUEST_MSSG, "Confirmation emails are disabled."); return; *************** *** 101,105 **** "-->"; message += "</style></head><body bgcolor='#ffffff' style='font-size: 10pt; font-family: arial;'>"; ! message += "<table border='0' width='95%' align='center' cellspacing='10'>"; message += "<tr><td colspan='2' style='border-bottom: 2px #2020FF solid;'><font size='+2'>"; --- 117,121 ---- "-->"; message += "</style></head><body bgcolor='#ffffff' style='font-size: 10pt; font-family: arial;'>"; ! message += "<table border='0' width='100%' align='center' cellspacing='10'>"; message += "<tr><td colspan='2' style='border-bottom: 2px #2020FF solid;'><font size='+2'>"; *************** *** 150,153 **** --- 166,172 ---- message += "Following meetings were deleted by you or on your behalf"; break; + case sActionInquire : + message += "Following meetings are in question"; + break; } message += "</font>"; *************** *** 170,174 **** if (iNote!=null && iNote.length()>0) { message += "<tr><td colspan='2' style='border-bottom: 1px #2020FF solid; font-variant:small-caps;'>"; ! message += "<br><font size='+1'>Notes</font>"; message += "</td></tr><tr><td colspan='2' >"; message += iNote.replaceAll("\n", "<br>"); --- 189,193 ---- if (iNote!=null && iNote.length()>0) { message += "<tr><td colspan='2' style='border-bottom: 1px #2020FF solid; font-variant:small-caps;'>"; ! message += "<br><font size='+1'>" + (iAction == sActionInquire ? "Inquiry" : "Notes" ) + "</font>"; message += "</td></tr><tr><td colspan='2' >"; message += iNote.replaceAll("\n", "<br>"); *************** *** 178,182 **** if (iAction!=sActionCreate) { message += "<tr><td colspan='2' style='border-bottom: 1px #2020FF solid; font-variant:small-caps;'>"; ! message += "<br><font size='+1'>All Meetings of "+iEvent.getEventName()+"</font>"; message += "</td></tr>"; if (iEvent.getMeetings().isEmpty()) { --- 197,201 ---- if (iAction!=sActionCreate) { message += "<tr><td colspan='2' style='border-bottom: 1px #2020FF solid; font-variant:small-caps;'>"; ! message += "<br><font size='+1'>History of "+iEvent.getEventName()+"</font>"; message += "</td></tr>"; if (iEvent.getMeetings().isEmpty()) { *************** *** 236,267 **** message += "</body></html>"; ! Properties p = ApplicationProperties.getProperties(); ! if (p.getProperty("mail.smtp.host")==null && p.getProperty("tmtbl.smtp.host")!=null) ! p.setProperty("mail.smtp.host", p.getProperty("tmtbl.smtp.host")); ! ! Authenticator a = null; ! if (ApplicationProperties.getProperty("tmtbl.mail.user")!=null && ApplicationProperties.getProperty("tmtbl.mail.pwd")!=null) { ! p.setProperty("mail.smtp.user", ApplicationProperties.getProperty("tmtbl.mail.user")); ! p.setProperty("mail.smtp.auth", "true"); ! a = new Authenticator() { ! public PasswordAuthentication getPasswordAuthentication() { ! return new PasswordAuthentication( ! ApplicationProperties.getProperty("tmtbl.mail.user"), ! ApplicationProperties.getProperty("tmtbl.mail.pwd")); ! } ! }; ! } ! javax.mail.Session mailSession = javax.mail.Session.getDefaultInstance(p, a); ! MimeMessage mail = new MimeMessage(mailSession); mail.setSubject(subject); ! InternetAddress from = ! new InternetAddress( ! ApplicationProperties.getProperty("tmtbl.inquiry.sender",ApplicationProperties.getProperty("tmtbl.contact.email")), ! ApplicationProperties.getProperty("tmtbl.inquiry.sender.name")); ! mail.setFrom(from); ! ! MimeBodyPart text = new MimeBodyPart(); text.setContent(message, "text/html"); ! Multipart body = new MimeMultipart(); body.addBodyPart(text); conf = ApplicationProperties.getTempFile("email", "html"); --- 255,262 ---- message += "</body></html>"; ! Email mail = new Email(); mail.setSubject(subject); ! mail.setHTML(message); conf = ApplicationProperties.getTempFile("email", "html"); *************** *** 276,280 **** String to = ""; if (iEvent.getMainContact()!=null && iEvent.getMainContact().getEmailAddress()!=null) { ! mail.addRecipient(RecipientType.TO, new InternetAddress(iEvent.getMainContact().getEmailAddress(),iEvent.getMainContact().getName())); to = "<a href='mailto:"+iEvent.getMainContact().getEmailAddress()+"'>"+iEvent.getMainContact().getShortName()+"</a>"; } --- 271,275 ---- String to = ""; if (iEvent.getMainContact()!=null && iEvent.getMainContact().getEmailAddress()!=null) { ! mail.addRecipient(iEvent.getMainContact().getEmailAddress(),iEvent.getMainContact().getName()); to = "<a href='mailto:"+iEvent.getMainContact().getEmailAddress()+"'>"+iEvent.getMainContact().getShortName()+"</a>"; } *************** *** 282,286 **** for (StringTokenizer stk = new StringTokenizer(iEvent.getEmail(),";:,\n\r\t");stk.hasMoreTokens();) { String email = stk.nextToken(); ! mail.addRecipient(RecipientType.CC, new InternetAddress(email)); if (to.length()>0) to+=", "; to += email; --- 277,281 ---- for (StringTokenizer stk = new StringTokenizer(iEvent.getEmail(),";:,\n\r\t");stk.hasMoreTokens();) { String email = stk.nextToken(); ! mail.addRecipientCC(email, null); if (to.length()>0) to+=", "; to += email; *************** *** 288,300 **** } if (iEvent.getSponsoringOrganization()!=null && iEvent.getSponsoringOrganization().getEmail()!=null && iEvent.getSponsoringOrganization().getEmail().length()>0) { ! mail.addRecipient(RecipientType.TO, new InternetAddress(iEvent.getSponsoringOrganization().getEmail(),iEvent.getSponsoringOrganization().getName())); if (to.length()>0) to+=", "; to += "<a href='mailto:"+iEvent.getSponsoringOrganization().getEmail()+"'>"+iEvent.getSponsoringOrganization().getName()+"</a>"; } ! mail.setSentDate(new Date()); ! mail.setContent(body); ! Transport.send(mail); request.getSession().setAttribute(Constants.REQUEST_MSSG, --- 283,295 ---- } if (iEvent.getSponsoringOrganization()!=null && iEvent.getSponsoringOrganization().getEmail()!=null && iEvent.getSponsoringOrganization().getEmail().length()>0) { ! mail.addRecipient(iEvent.getSponsoringOrganization().getEmail(),iEvent.getSponsoringOrganization().getName()); if (to.length()>0) to+=", "; to += "<a href='mailto:"+iEvent.getSponsoringOrganization().getEmail()+"'>"+iEvent.getSponsoringOrganization().getName()+"</a>"; } ! if (iAttachement != null && iAttachement.getFileSize() > 0) ! mail.addAttachement(iAttachement); ! mail.send(); request.getSession().setAttribute(Constants.REQUEST_MSSG, Index: RequiredTimeTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/RequiredTimeTable.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RequiredTimeTable.java 24 Jun 2009 19:46:54 -0000 1.4 --- RequiredTimeTable.java 1 Dec 2010 11:10:48 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,30 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil; import java.awt.Color; - import java.awt.Graphics2D; import java.awt.image.BufferedImage; import java.awt.image.WritableRaster; import java.io.File; import java.io.IOException; - import java.util.Vector; import javax.servlet.ServletRequest; --- 15,28 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil; import java.awt.Color; import java.awt.image.BufferedImage; import java.awt.image.WritableRaster; import java.io.File; import java.io.IOException; import javax.servlet.ServletRequest; *************** *** 44,49 **** */ public class RequiredTimeTable { - private static java.text.SimpleDateFormat sTimeFormat = new java.text.SimpleDateFormat("h:mm"); - public static String getTimeGridSize(User user) { return Settings.getSettingValue(user, Constants.SETTINGS_TIME_GRID_SIZE); --- 42,45 ---- *************** *** 294,298 **** return "<script language=\"javascript\">\n"+ ! "tpGenerate(\n\t"+ "'"+iName+"',\n\t"+ (timeVertical?"false":"true")+",\n\t"+ --- 290,294 ---- return "<script language=\"javascript\">\n"+ ! "document.write(tpGenerate(\n\t"+ "'"+iName+"',\n\t"+ (timeVertical?"false":"true")+",\n\t"+ *************** *** 315,319 **** "'"+getModel().getDefaultPreference()+"',\n\t"+ (getModel().getPreferenceCheck()==null?"null":"\""+getModel().getPreferenceCheck()+"\"")+", \n\t"+ ! showLegend+");\n"+ "</script>"; } --- 311,315 ---- "'"+getMode... [truncated message content] |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons Modified Files: MultiComparable.java Debug.java User.java Email.java ToolBox.java NaturalOrderComparator.java Added Files: JDTCompiler15.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) --- NEW FILE: JDTCompiler15.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.commons; import org.apache.tools.ant.taskdefs.Javac; import org.eclipse.jdt.core.JDTCompilerAdapter; /** * Hack to allow all the application to run in GWT hosted mode. Set -Dbuild.compiler="org.unitime.commons.JDTCompiler15" in the build configuration. * * See http://code.google.com/p/google-web-toolkit/issues/detail?id=3557 for more details. */ public class JDTCompiler15 extends JDTCompilerAdapter { @Override public void setJavac(Javac attributes) { if (attributes.getTarget() == null) { attributes.setTarget("1.5"); } if (attributes.getSource() == null) { attributes.setSource("1.5"); } super.setJavac(attributes); } } Index: MultiComparable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/MultiComparable.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** MultiComparable.java 7 Feb 2010 08:59:50 -0000 1.5 --- MultiComparable.java 1 Dec 2010 11:10:51 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons; Index: NaturalOrderComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/NaturalOrderComparator.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** NaturalOrderComparator.java 12 Jun 2007 02:27:16 -0000 1.1 --- NaturalOrderComparator.java 1 Dec 2010 11:10:51 -0000 1.2 *************** *** 25,29 **** */ ! import java.util.*; public class NaturalOrderComparator implements Comparator { --- 25,32 ---- */ ! import java.util.Arrays; ! import java.util.Collections; ! import java.util.Comparator; ! import java.util.List; public class NaturalOrderComparator implements Comparator { Index: Email.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/Email.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Email.java 17 Jun 2008 21:24:57 -0000 1.2 --- Email.java 1 Dec 2010 11:10:51 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,143 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons; ! /** ! * Sends anonymous emails ! * @author Heston Fernandes ! */ ! import java.io.BufferedReader; ! import java.io.DataOutputStream; import java.io.IOException; ! import java.io.InputStreamReader; ! import java.net.Socket; ! import java.util.StringTokenizer; ! import java.util.Vector; ! ! public class Email { ! ! // Constants ! private static final int SMTP_PORT = 25; ! private static final char SMTP_ERROR_CODE1 = '4'; ! private static final char SMTP_ERROR_CODE2 = '5'; ! ! ! /** ! * Send Email ! * @param host IP Address or Host name ! * @param domain Host Domain ! * @param sender Sender - must be an email address only (no names) ! * @param replyTo Usually same as sender but can be of the form Name<email> ! * Example: ABC <ab...@xy...> ! * @param recipients Recipients (multiple recipients separated by ;) ! * @param subject Subject ! * @param maildata Content ! * @param sessionTrace Stores transcript of conversation with mail server ! * @throws IOException ! */ ! public void sendMail( String host, ! String domain, ! String sender, ! String replyTo, ! String recipients, ! String subject, ! String maildata, ! Vector sessionTrace ) throws IOException { ! ! Socket mailSocket; ! BufferedReader socketIn; ! DataOutputStream socketOut; ! String address; ! StringTokenizer tokenizer; ! ! mailSocket = new Socket(host, SMTP_PORT); ! socketIn =new BufferedReader( ! new InputStreamReader(mailSocket.getInputStream())); ! socketOut = new DataOutputStream(mailSocket.getOutputStream()); ! ! readReply(socketIn, sessionTrace); ! ! sendCommand(socketOut, "HELO " + domain, sessionTrace); ! readReply(socketIn, sessionTrace); ! ! sendCommand(socketOut, "MAIL FROM: " + sender, sessionTrace); ! readReply(socketIn, sessionTrace); ! ! tokenizer = new StringTokenizer(recipients, ";"); ! ! while (tokenizer.hasMoreElements()) { ! sendCommand( socketOut, ! "RCPT TO: " + tokenizer.nextToken(), ! sessionTrace ); ! readReply(socketIn, sessionTrace); ! } ! maildata = "Date: " + (new java.util.Date()).toString() + "\r\n" + ! "To: " + recipients + "\r\n" + ! "From: " + replyTo + "\r\n" + ! "Reply-To: " + replyTo + "\r\n" + ! "Subject: " + subject + "\r\n" + ! "\r\n" + ! maildata + "\r\n"; ! sendCommand(socketOut, "DATA", sessionTrace); ! readReply(socketIn, sessionTrace); ! sendCommand(socketOut, maildata + "\n.", sessionTrace); ! readReply(socketIn, sessionTrace); ! sendCommand(socketOut, "QUIT", sessionTrace); ! readReply(socketIn, sessionTrace); } ! /** ! * Sends command to server ! * @param out Output Stream ! * @param command Command ! * @param sessionTrace Stores transcript of conversation with mail server ! * @throws IOException ! */ ! private void sendCommand( DataOutputStream out, ! String command, ! Vector sessionTrace) throws IOException { ! out.writeBytes(command + "\r\n"); ! sessionTrace.addElement(command + "\r\n"); } ! /** ! * Reads server responses to commands ! * @param reader Object to read response from server ! * @param sessionTrace Stores transcript of conversation with mail server ! * @throws IOException ! */ ! private void readReply(BufferedReader reader, Vector sessionTrace) ! throws IOException { ! String reply; ! char statusCode; ! reply = reader.readLine(); ! statusCode = reply.charAt(0); ! sessionTrace.addElement(reply + "\r\n"); ! if ((statusCode == SMTP_ERROR_CODE1) || (statusCode == SMTP_ERROR_CODE2)) ! throw (new IOException("SMTP: " + reply)); } --- 15,197 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons; ! import java.io.File; import java.io.IOException; ! import java.io.InputStream; ! import java.io.OutputStream; ! import java.io.UnsupportedEncodingException; ! import java.text.DecimalFormat; ! import java.util.Date; ! import java.util.Properties; ! import javax.activation.DataHandler; ! import javax.activation.DataSource; ! import javax.activation.FileDataSource; ! import javax.mail.Authenticator; ! import javax.mail.BodyPart; ! import javax.mail.MessagingException; ! import javax.mail.Multipart; ! import javax.mail.PasswordAuthentication; ! import javax.mail.Transport; ! import javax.mail.Message.RecipientType; ! import javax.mail.internet.InternetAddress; ! import javax.mail.internet.MimeBodyPart; ! import javax.mail.internet.MimeMessage; ! import javax.mail.internet.MimeMultipart; ! import org.apache.commons.logging.Log; ! import org.apache.commons.logging.LogFactory; ! import org.apache.struts.upload.FormFile; ! import org.unitime.timetable.ApplicationProperties; ! public class Email { ! private static Log sLog = LogFactory.getLog(Email.class); ! private javax.mail.Session iMailSession = null; ! private MimeMessage iMail = null; ! private Multipart iBody = null; ! ! public Email() { ! Properties p = ApplicationProperties.getProperties(); ! if (p.getProperty("mail.smtp.host")==null && p.getProperty("tmtbl.smtp.host")!=null) ! p.setProperty("mail.smtp.host", p.getProperty("tmtbl.smtp.host")); ! ! final String user = ApplicationProperties.getProperty("mail.smtp.user", ApplicationProperties.getProperty("unitime.email.user", ApplicationProperties.getProperty("tmtbl.mail.user"))); ! final String password = ApplicationProperties.getProperty("mail.smtp.password", ApplicationProperties.getProperty("unitime.email.password", ApplicationProperties.getProperty("tmtbl.mail.pwd"))); ! ! Authenticator a = null; ! if (user != null && password != null) { ! p.setProperty("mail.smtp.user", user); ! p.setProperty("mail.smtp.auth", "true"); ! a = new Authenticator() { ! public PasswordAuthentication getPasswordAuthentication() { ! return new PasswordAuthentication(user, password); } ! }; ! } ! iMailSession = javax.mail.Session.getDefaultInstance(p, a); ! iMail = new MimeMessage(iMailSession); ! iBody = new MimeMultipart(); ! } ! ! public static boolean isEnabled() { ! return (ApplicationProperties.getProperty("tmtbl.smtp.host") != null && ApplicationProperties.getProperty("tmtbl.smtp.host").length() > 0) || ! (ApplicationProperties.getProperty("mail.smtp.host") != null && ApplicationProperties.getProperty("mail.smtp.host").length() > 0); ! } ! ! public void setSubject(String subject) throws MessagingException { ! iMail.setSubject(subject); ! } ! ! private void setFrom(String email, String name) throws MessagingException, UnsupportedEncodingException { ! if (email != null) ! iMail.setFrom(new InternetAddress(email, name)); ! } ! ! private void setReplyTo(String email, String name) throws UnsupportedEncodingException, MessagingException { ! if (email != null) ! iMail.setReplyTo(new InternetAddress[] {new InternetAddress(email, name)}); ! } ! ! private void addRecipient(RecipientType type, String email, String name) throws UnsupportedEncodingException, MessagingException { ! iMail.addRecipient(type, new InternetAddress(email, name)); ! } ! ! public void addRecipient(String email, String name) throws UnsupportedEncodingException, MessagingException { ! addRecipient(RecipientType.TO, email, name); ! } ! ! public void addRecipientCC(String email, String name) throws UnsupportedEncodingException, MessagingException { ! addRecipient(RecipientType.CC, email, name); } ! public void addRecipientBCC(String email, String name) throws UnsupportedEncodingException, MessagingException { ! addRecipient(RecipientType.BCC, email, name); ! } ! ! public void setText(String message) throws MessagingException { ! MimeBodyPart text = new MimeBodyPart(); text.setContent(message, "text/plain"); ! iBody.addBodyPart(text); ! } ! ! public void setHTML(String message) throws MessagingException { ! MimeBodyPart text = new MimeBodyPart(); text.setContent(message, "text/html"); ! iBody.addBodyPart(text); } ! public void addNotify(RecipientType type) throws MessagingException, UnsupportedEncodingException { ! iMail.addRecipient(RecipientType.TO, new InternetAddress( ! ApplicationProperties.getProperty("unitime.email.notif", ApplicationProperties.getProperty("tmtbl.notif.email", ApplicationProperties.getProperty("tmtbl.notif.commit.email"))), ! ApplicationProperties.getProperty("unitime.email.notif.name", ApplicationProperties.getProperty("tmtbl.notif.email.name", "UniTime Operator")))); ! } ! public void addNotify() throws MessagingException, UnsupportedEncodingException { ! addNotify(RecipientType.TO); ! } ! ! public void addNotifyCC() throws MessagingException, UnsupportedEncodingException { ! addNotify(RecipientType.CC); ! } ! ! public void addAttachement(File file, String name) throws MessagingException { ! BodyPart attachement = new MimeBodyPart(); ! attachement.setDataHandler(new DataHandler(new FileDataSource(file))); ! attachement.setFileName(name == null ? file.getName() : name); ! iBody.addBodyPart(attachement); ! } ! public void addAttachement(final FormFile file) throws MessagingException { ! BodyPart attachement = new MimeBodyPart(); ! attachement.setDataHandler(new DataHandler(new DataSource() { ! @Override ! public OutputStream getOutputStream() throws IOException { ! throw new IOException("No output stream."); ! } ! ! @Override ! public String getName() { ! return file.getFileName(); ! } ! ! @Override ! public InputStream getInputStream() throws IOException { ! return file.getInputStream(); ! } ! ! @Override ! public String getContentType() { ! return file.getContentType(); ! } ! })); ! attachement.setFileName(file.getFileName()); ! iBody.addBodyPart(attachement); ! } ! public void send() throws MessagingException, UnsupportedEncodingException { ! long t0 = System.currentTimeMillis(); ! try { ! setFrom( ! ApplicationProperties.getProperty("unitime.email.sender", ! ApplicationProperties.getProperty("tmtbl.inquiry.sender", ApplicationProperties.getProperty("tmtbl.contact.email"))), ! ApplicationProperties.getProperty("unitime.email.sender.name", ! ApplicationProperties.getProperty("tmtbl.inquiry.sender.name", ApplicationProperties.getProperty("tmtbl.contact.email.name", "UniTime Email"))) ! ); ! setReplyTo(ApplicationProperties.getProperty("unitime.email.replyto"), ! ApplicationProperties.getProperty("unitime.email.replyto.name")); ! ! iMail.setSentDate(new Date()); ! iMail.setContent(iBody); ! iMail.saveChanges(); ! Transport.send(iMail); ! } finally { ! long t = System.currentTimeMillis() - t0; ! if (t > 30000) ! sLog.warn("It took " + new DecimalFormat("0.00").format(t / 1000.0) + " seconds to send an email."); ! else if (t > 5000) ! sLog.info("It took " + new DecimalFormat("0.00").format(t / 1000.0) + " seconds to send an email."); ! } } Index: User.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/User.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** User.java 13 Sep 2010 15:48:02 -0000 1.5 --- User.java 1 Dec 2010 11:10:51 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,25 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons; - import java.util.HashMap; - import java.util.Map; import java.util.Properties; import java.util.Vector; --- 15,23 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons; import java.util.Properties; import java.util.Vector; *************** *** 27,30 **** --- 25,29 ---- import org.unitime.timetable.ApplicationProperties; import org.unitime.timetable.interfaces.ExternalUidLookup; + import org.unitime.timetable.interfaces.ExternalUidLookup.UserInfo; *************** *** 224,241 **** if (canIdentify()) { try { - HashMap attributes = new HashMap(); - attributes.put(ExternalUidLookup.SEARCH_ID, externalId); - String className = ApplicationProperties.getProperty("tmtbl.manager.external_id.lookup.class"); ExternalUidLookup lookup = (ExternalUidLookup)(Class.forName(className).newInstance()); ! Map results = lookup.doLookup(attributes); if (results==null) return null; User user = new User(); ! user.setId((String)results.get(ExternalUidLookup.EXTERNAL_ID)); ! user.setLogin((String)results.get(ExternalUidLookup.USERNAME)); ! user.setName( ! (String)results.get(ExternalUidLookup.FIRST_NAME)+" "+ ! (String)results.get(ExternalUidLookup.MIDDLE_NAME)+" "+ ! (String)results.get(ExternalUidLookup.LAST_NAME)); return user; } catch (Exception e) { --- 223,234 ---- if (canIdentify()) { try { String className = ApplicationProperties.getProperty("tmtbl.manager.external_id.lookup.class"); ExternalUidLookup lookup = (ExternalUidLookup)(Class.forName(className).newInstance()); ! UserInfo results = lookup.doLookup(externalId); if (results==null) return null; User user = new User(); ! user.setId(results.getExternalId()); ! user.setLogin(results.getUserName()); ! user.setName(results.getName()); return user; } catch (Exception e) { Index: Debug.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/Debug.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Debug.java 17 Jun 2008 21:24:57 -0000 1.2 --- Debug.java 1 Dec 2010 11:10:51 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons; *************** *** 63,66 **** --- 63,73 ---- } + /** Prints an error message to log. + * @param message an error message + */ + public static synchronized void error(String message, Throwable t) { + LogFactory.getLog(ToolBox.getCaller()).error(message, t); + } + /** Prints a warning message to log. * @param message a warning message Index: ToolBox.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/ToolBox.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ToolBox.java 17 Jun 2008 21:24:57 -0000 1.2 --- ToolBox.java 1 Dec 2010 11:10:51 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons; *************** *** 276,331 **** } - /** This class is used by getCaller method, it reads i-th line of output stream. - */ - private static class LineOutputStream extends java.io.OutputStream { - - /** buffer */ - StringBuffer iBuffer = null; - - /** line to be read */ - int iLine = 0; - - /** line counter */ - int iCurLine = 0; - - /** It create an instance of LineOutputStream. - * @param line line to be read - */ - public LineOutputStream(int line) { - super(); - iLine = line; - iBuffer = new StringBuffer(); - } - - /** Writes a byte to stream - * @param b a byte - */ - public void write(int b) throws java.io.IOException { - - if (b == '\n') { - iCurLine++; - return; - } - if (iLine == iCurLine) { - iBuffer.append((char) b); - } - } - - /** Closes the stream - */ - public void close() throws java.io.IOException { - super.close(); - } - - /** Returns read line - * @param read line - */ - public String toString() { - - return iBuffer.toString().trim(); - } - } - - /** * This function constructs the absolute path to the target folder --- 276,279 ---- |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/Documentation/Database/MySQL In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/Documentation/Database/MySQL Modified Files: woebegon-data.sql schema.sql blank-data.sql Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: schema.sql =================================================================== RCS file: /cvsroot/unitime/UniTime/Documentation/Database/MySQL/schema.sql,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** schema.sql 22 Jul 2008 19:08:51 -0000 1.19 --- schema.sql 1 Dec 2010 11:10:50 -0000 1.20 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ *************** *** 29,43 **** flush privileges; - -- MySQL 4 - /* - delete from user where user='timetable'; - - insert into user (host,user,password) values ('%', 'timetable', password('unitime')); - - grant all on timetable.* to timetable; - - flush privileges; - */ - -- ---------------------------------------------------------------------- -- MySQL Migration Toolkit --- 29,32 ---- *************** *** 50,54 **** CREATE DATABASE `timetable` ! CHARACTER SET utf8; USE `timetable`; --- 39,43 ---- CREATE DATABASE `timetable` ! CHARACTER SET utf8; USE `timetable`; *************** *** 65,68 **** --- 54,58 ---- `external_uid` VARCHAR(40) BINARY NULL, PRIMARY KEY (`uniqueid`), + INDEX `idx_academic_area_abbv` (`academic_area_abbreviation`(10), `session_id`), UNIQUE INDEX `uk_academic_area` (`session_id`, `academic_area_abbreviation`(10)), CONSTRAINT `fk_academic_area_session` FOREIGN KEY `fk_academic_area_session` (`session_id`) *************** *** 81,84 **** --- 71,75 ---- `external_uid` VARCHAR(40) BINARY NULL, PRIMARY KEY (`uniqueid`), + INDEX `idx_academic_clasf_code` (`code`(10), `session_id`), CONSTRAINT `fk_acad_class_session` FOREIGN KEY `fk_acad_class_session` (`session_id`) REFERENCES `timetable`.`sessions` (`uniqueid`) *************** *** 137,141 **** `instructor_id` DECIMAL(20, 0) NOT NULL, `last_modified_time` DATETIME NULL, ! PRIMARY KEY (`instructor_id`, `assignment_id`), INDEX `idx_assigned_instructors` (`assignment_id`), CONSTRAINT `fk_assigned_instrs_assignment` FOREIGN KEY `fk_assigned_instrs_assignment` (`assignment_id`) --- 128,132 ---- `instructor_id` DECIMAL(20, 0) NOT NULL, `last_modified_time` DATETIME NULL, ! PRIMARY KEY (`assignment_id`, `instructor_id`), INDEX `idx_assigned_instructors` (`assignment_id`), CONSTRAINT `fk_assigned_instrs_assignment` FOREIGN KEY `fk_assigned_instrs_assignment` (`assignment_id`) *************** *** 155,159 **** `room_id` DECIMAL(20, 0) NOT NULL, `last_modified_time` DATETIME NULL, ! PRIMARY KEY (`room_id`, `assignment_id`), INDEX `idx_assigned_rooms` (`assignment_id`), CONSTRAINT `fk_assigned_rooms_assignment` FOREIGN KEY `fk_assigned_rooms_assignment` (`assignment_id`) --- 146,150 ---- `room_id` DECIMAL(20, 0) NOT NULL, `last_modified_time` DATETIME NULL, ! PRIMARY KEY (`assignment_id`, `room_id`), INDEX `idx_assigned_rooms` (`assignment_id`), CONSTRAINT `fk_assigned_rooms_assignment` FOREIGN KEY `fk_assigned_rooms_assignment` (`assignment_id`) *************** *** 199,204 **** `abbreviation` VARCHAR(10) BINARY NULL, `name` VARCHAR(100) BINARY NULL, ! `coordinate_x` BIGINT(10) NULL, ! `coordinate_y` BIGINT(10) NULL, `external_uid` VARCHAR(40) BINARY NULL, PRIMARY KEY (`uniqueid`), --- 190,195 ---- `abbreviation` VARCHAR(10) BINARY NULL, `name` VARCHAR(100) BINARY NULL, ! `coordinate_x` DOUBLE NULL, ! `coordinate_y` DOUBLE NULL, `external_uid` VARCHAR(40) BINARY NULL, PRIMARY KEY (`uniqueid`), *************** *** 285,290 **** `managing_dept` DECIMAL(20, 0) NULL, `display_instructor` INT(1) NULL, ! `sched_print_note` VARCHAR(40) BINARY NULL, ! `class_suffix` VARCHAR(6) BINARY NULL, `display_in_sched_book` INT(1) NULL DEFAULT 1, `max_expected_capacity` INT(4) NULL, --- 276,281 ---- `managing_dept` DECIMAL(20, 0) NULL, `display_instructor` INT(1) NULL, ! `sched_print_note` VARCHAR(2000) BINARY NULL, ! `class_suffix` VARCHAR(10) BINARY NULL, `display_in_sched_book` INT(1) NULL DEFAULT 1, `max_expected_capacity` INT(4) NULL, *************** *** 294,297 **** --- 285,289 ---- `uid_rolled_fwd_from` DECIMAL(20, 0) NULL, `external_uid` VARCHAR(40) BINARY NULL, + `enrollment` INT(4) NULL, PRIMARY KEY (`uniqueid`), INDEX `idx_class_datepatt` (`date_pattern_id`), *************** *** 396,401 **** `credit_unit_type` VARCHAR(20) BINARY NULL, `credit_format` VARCHAR(20) BINARY NULL, ! `fixed_min_credit` BIGINT(10) NULL, ! `max_credit` BIGINT(10) NULL, `frac_credit_allowed` INT(1) NULL, PRIMARY KEY (`uniqueid`), --- 388,393 ---- `credit_unit_type` VARCHAR(20) BINARY NULL, `credit_format` VARCHAR(20) BINARY NULL, ! `fixed_min_credit` DOUBLE NULL, ! `max_credit` DOUBLE NULL, `frac_credit_allowed` INT(1) NULL, PRIMARY KEY (`uniqueid`), *************** *** 425,430 **** `defines_credit_at_course_level` INT(1) NULL, `fixed_units` DECIMAL(22, 0) NULL, ! `min_units` DECIMAL(22, 0) NULL, ! `max_units` DECIMAL(22, 0) NULL, `fractional_incr_allowed` INT(1) NULL, `instr_offr_id` DECIMAL(20, 0) NULL, --- 417,422 ---- `defines_credit_at_course_level` INT(1) NULL, `fixed_units` DECIMAL(22, 0) NULL, ! `min_units` DOUBLE NULL, ! `max_units` DOUBLE NULL, `fractional_incr_allowed` INT(1) NULL, `instr_offr_id` DECIMAL(20, 0) NULL, *************** *** 501,504 **** --- 493,497 ---- `uid_rolled_fwd_from` DECIMAL(20, 0) NULL, `lastlike_demand` BIGINT(10) NULL DEFAULT 0, + `enrollment` BIGINT(10) NULL, PRIMARY KEY (`uniqueid`), INDEX `idx_course_offering_control` (`is_control`), *************** *** 595,600 **** `credit_unit_type` VARCHAR(20) BINARY NULL, `credit_format` VARCHAR(20) BINARY NULL, ! `fixed_min_credit` BIGINT(10) NULL, ! `max_credit` BIGINT(10) NULL, `frac_credit_allowed` INT(1) NULL, PRIMARY KEY (`uniqueid`), --- 588,593 ---- `credit_unit_type` VARCHAR(20) BINARY NULL, `credit_format` VARCHAR(20) BINARY NULL, ! `fixed_min_credit` DOUBLE NULL, ! `max_credit` DOUBLE NULL, `frac_credit_allowed` INT(1) NULL, PRIMARY KEY (`uniqueid`), *************** *** 617,620 **** --- 610,746 ---- ENGINE = INNODB; + DROP TABLE IF EXISTS `timetable`.`curriculum`; + CREATE TABLE `timetable`.`curriculum` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `abbv` VARCHAR(20) BINARY NOT NULL, + `name` VARCHAR(60) BINARY NOT NULL, + `acad_area_id` DECIMAL(20, 0) NULL, + `dept_id` DECIMAL(20, 0) NOT NULL, + PRIMARY KEY (`uniqueid`), + UNIQUE INDEX `pk_curricula` (`uniqueid`), + CONSTRAINT `fk_curriculum_acad_area` FOREIGN KEY `fk_curriculum_acad_area` (`acad_area_id`) + REFERENCES `timetable`.`academic_area` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_curriculum_dept` FOREIGN KEY `fk_curriculum_dept` (`dept_id`) + REFERENCES `timetable`.`department` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_clasf`; + CREATE TABLE `timetable`.`curriculum_clasf` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `curriculum_id` DECIMAL(20, 0) NOT NULL, + `name` VARCHAR(20) BINARY NOT NULL, + `acad_clasf_id` DECIMAL(20, 0) NULL, + `nr_students` BIGINT(10) NOT NULL, + `ord` BIGINT(10) NOT NULL, + `students` LONGTEXT BINARY NULL, + PRIMARY KEY (`uniqueid`), + UNIQUE INDEX `pk_curricula_clasf` (`uniqueid`), + CONSTRAINT `fk_curriculum_clasf_acad_clasf` FOREIGN KEY `fk_curriculum_clasf_acad_clasf` (`acad_clasf_id`) + REFERENCES `timetable`.`academic_classification` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_curriculum_clasf_curriculum` FOREIGN KEY `fk_curriculum_clasf_curriculum` (`curriculum_id`) + REFERENCES `timetable`.`curriculum` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_course`; + CREATE TABLE `timetable`.`curriculum_course` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `course_id` DECIMAL(20, 0) NOT NULL, + `cur_clasf_id` DECIMAL(20, 0) NOT NULL, + `pr_share` DOUBLE NOT NULL, + `ord` BIGINT(10) NOT NULL, + PRIMARY KEY (`uniqueid`), + UNIQUE INDEX `pk_curricula_course` (`uniqueid`), + CONSTRAINT `fk_curriculum_course_clasf` FOREIGN KEY `fk_curriculum_course_clasf` (`cur_clasf_id`) + REFERENCES `timetable`.`curriculum_clasf` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_curriculum_course_course` FOREIGN KEY `fk_curriculum_course_course` (`course_id`) + REFERENCES `timetable`.`course_offering` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_course_group`; + CREATE TABLE `timetable`.`curriculum_course_group` ( + `group_id` DECIMAL(20, 0) NOT NULL, + `cur_course_id` DECIMAL(20, 0) NOT NULL, + PRIMARY KEY (`group_id`, `cur_course_id`), + CONSTRAINT `fk_cur_course_group_course` FOREIGN KEY `fk_cur_course_group_course` (`cur_course_id`) + REFERENCES `timetable`.`curriculum_course` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_cur_course_group_group` FOREIGN KEY `fk_cur_course_group_group` (`group_id`) + REFERENCES `timetable`.`curriculum_group` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_group`; + CREATE TABLE `timetable`.`curriculum_group` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `name` VARCHAR(20) BINARY NOT NULL, + `color` VARCHAR(20) BINARY NULL, + `type` BIGINT(10) NOT NULL, + `curriculum_id` DECIMAL(20, 0) NOT NULL, + PRIMARY KEY (`uniqueid`), + CONSTRAINT `fk_curriculum_group_curriculum` FOREIGN KEY `fk_curriculum_group_curriculum` (`curriculum_id`) + REFERENCES `timetable`.`curriculum` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_major`; + CREATE TABLE `timetable`.`curriculum_major` ( + `curriculum_id` DECIMAL(20, 0) NOT NULL, + `major_id` DECIMAL(20, 0) NOT NULL, + PRIMARY KEY (`curriculum_id`, `major_id`), + CONSTRAINT `fk_curriculum_major_curriculum` FOREIGN KEY `fk_curriculum_major_curriculum` (`curriculum_id`) + REFERENCES `timetable`.`curriculum` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_curriculum_major_major` FOREIGN KEY `fk_curriculum_major_major` (`major_id`) + REFERENCES `timetable`.`pos_major` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + + DROP TABLE IF EXISTS `timetable`.`curriculum_rule`; + CREATE TABLE `timetable`.`curriculum_rule` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `acad_area_id` DECIMAL(20, 0) NOT NULL, + `major_id` DECIMAL(20, 0) NULL, + `acad_clasf_id` DECIMAL(20, 0) NOT NULL, + `projection` DOUBLE NOT NULL, + PRIMARY KEY (`uniqueid`), + INDEX `idx_cur_rule_areadept` (`acad_area_id`, `acad_clasf_id`), + CONSTRAINT `fk_cur_rule_acad_area` FOREIGN KEY `fk_cur_rule_acad_area` (`acad_area_id`) + REFERENCES `timetable`.`academic_area` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_cur_rule_acad_clasf` FOREIGN KEY `fk_cur_rule_acad_clasf` (`acad_clasf_id`) + REFERENCES `timetable`.`academic_classification` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION, + CONSTRAINT `fk_cur_rule_major` FOREIGN KEY `fk_cur_rule_major` (`major_id`) + REFERENCES `timetable`.`pos_major` (`uniqueid`) + ON DELETE CASCADE + ON UPDATE NO ACTION + ) + ENGINE = INNODB; + DROP TABLE IF EXISTS `timetable`.`date_pattern`; CREATE TABLE `timetable`.`date_pattern` ( *************** *** 639,643 **** `dept_id` DECIMAL(20, 0) NOT NULL, `pattern_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`pattern_id`, `dept_id`), CONSTRAINT `fk_date_pattern_dept_date` FOREIGN KEY `fk_date_pattern_dept_date` (`pattern_id`) REFERENCES `timetable`.`date_pattern` (`uniqueid`) --- 765,769 ---- `dept_id` DECIMAL(20, 0) NOT NULL, `pattern_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`dept_id`, `pattern_id`), CONSTRAINT `fk_date_pattern_dept_date` FOREIGN KEY `fk_date_pattern_dept_date` (`pattern_id`) REFERENCES `timetable`.`date_pattern` (`uniqueid`) *************** *** 700,706 **** `external_uid` VARCHAR(40) BINARY NULL, `career_acct` VARCHAR(20) BINARY NULL, ! `lname` VARCHAR(26) BINARY NULL, ! `fname` VARCHAR(20) BINARY NULL, ! `mname` VARCHAR(20) BINARY NULL, `pos_code_type` DECIMAL(20, 0) NULL, `note` VARCHAR(20) BINARY NULL, --- 826,832 ---- `external_uid` VARCHAR(40) BINARY NULL, `career_acct` VARCHAR(20) BINARY NULL, ! `lname` VARCHAR(100) BINARY NULL, ! `fname` VARCHAR(100) BINARY NULL, ! `mname` VARCHAR(100) BINARY NULL, `pos_code_type` DECIMAL(20, 0) NULL, `note` VARCHAR(20) BINARY NULL, *************** *** 739,743 **** `timetable_mgr_id` DECIMAL(20, 0) NOT NULL, `department_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`department_id`, `timetable_mgr_id`), CONSTRAINT `fk_dept_to_tt_mgr_dept` FOREIGN KEY `fk_dept_to_tt_mgr_dept` (`department_id`) REFERENCES `timetable`.`department` (`uniqueid`) --- 865,869 ---- `timetable_mgr_id` DECIMAL(20, 0) NOT NULL, `department_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`timetable_mgr_id`, `department_id`), CONSTRAINT `fk_dept_to_tt_mgr_dept` FOREIGN KEY `fk_dept_to_tt_mgr_dept` (`department_id`) REFERENCES `timetable`.`department` (`uniqueid`) *************** *** 886,893 **** `external_id` VARCHAR(40) BINARY NULL, `email` VARCHAR(200) BINARY NULL, ! `phone` VARCHAR(10) BINARY NULL, ! `firstname` VARCHAR(20) BINARY NULL, ! `middlename` VARCHAR(20) BINARY NULL, ! `lastname` VARCHAR(30) BINARY NULL, PRIMARY KEY (`uniqueid`) ) --- 1012,1019 ---- `external_id` VARCHAR(40) BINARY NULL, `email` VARCHAR(200) BINARY NULL, ! `phone` VARCHAR(25) BINARY NULL, ! `firstname` VARCHAR(100) BINARY NULL, ! `middlename` VARCHAR(100) BINARY NULL, ! `lastname` VARCHAR(100) BINARY NULL, PRIMARY KEY (`uniqueid`) ) *************** *** 913,926 **** `uniqueid` DECIMAL(20, 0) NOT NULL, `event_id` DECIMAL(20, 0) NOT NULL, - `note_id` DECIMAL(20, 0) NULL, `text_note` VARCHAR(1000) BINARY NULL, PRIMARY KEY (`uniqueid`), CONSTRAINT `fk_event_note_event` FOREIGN KEY `fk_event_note_event` (`event_id`) REFERENCES `timetable`.`event` (`uniqueid`) ON DELETE CASCADE - ON UPDATE NO ACTION, - CONSTRAINT `fk_event_note_std_note` FOREIGN KEY `fk_event_note_std_note` (`note_id`) - REFERENCES `timetable`.`standard_event_note` (`uniqueid`) - ON DELETE SET NULL ON UPDATE NO ACTION ) --- 1039,1051 ---- `uniqueid` DECIMAL(20, 0) NOT NULL, `event_id` DECIMAL(20, 0) NOT NULL, `text_note` VARCHAR(1000) BINARY NULL, + `time_stamp` DATETIME NULL, + `note_type` BIGINT(10) NOT NULL DEFAULT 0, + `uname` VARCHAR(100) BINARY NULL, + `meetings` VARCHAR(2000) BINARY NULL, PRIMARY KEY (`uniqueid`), CONSTRAINT `fk_event_note_event` FOREIGN KEY `fk_event_note_event` (`event_id`) REFERENCES `timetable`.`event` (`uniqueid`) ON DELETE CASCADE ON UPDATE NO ACTION ) *************** *** 953,956 **** --- 1078,1083 ---- `avg_period` BIGINT(10) NULL, `uid_rolled_fwd_from` DECIMAL(20, 0) NULL, + `exam_size` BIGINT(10) NULL, + `print_offset` BIGINT(10) NULL, PRIMARY KEY (`uniqueid`), CONSTRAINT `fk_exam_period` FOREIGN KEY `fk_exam_period` (`assigned_period`) *************** *** 1031,1034 **** --- 1158,1163 ---- `pref_level_id` DECIMAL(20, 0) NOT NULL, `exam_type` BIGINT(10) NULL DEFAULT 0, + `event_start_offset` BIGINT(10) NOT NULL DEFAULT 0, + `event_stop_offset` BIGINT(10) NOT NULL DEFAULT 0, PRIMARY KEY (`uniqueid`), CONSTRAINT `fk_exam_period_pref` FOREIGN KEY `fk_exam_period_pref` (`pref_level_id`) *************** *** 1065,1069 **** `exam_id` DECIMAL(20, 0) NOT NULL, `location_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`location_id`, `exam_id`), CONSTRAINT `fk_exam_room_exam` FOREIGN KEY `fk_exam_room_exam` (`exam_id`) REFERENCES `timetable`.`exam` (`uniqueid`) --- 1194,1198 ---- `exam_id` DECIMAL(20, 0) NOT NULL, `location_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`exam_id`, `location_id`), CONSTRAINT `fk_exam_room_exam` FOREIGN KEY `fk_exam_room_exam` (`exam_id`) REFERENCES `timetable`.`exam` (`uniqueid`) *************** *** 1079,1084 **** `external_uid` VARCHAR(40) BINARY NULL, `abbreviation` VARCHAR(10) BINARY NULL, ! `coordinate_x` BIGINT(10) NULL, ! `coordinate_y` BIGINT(10) NULL, `display_name` VARCHAR(100) BINARY NULL, PRIMARY KEY (`uniqueid`), --- 1208,1213 ---- `external_uid` VARCHAR(40) BINARY NULL, `abbreviation` VARCHAR(10) BINARY NULL, ! `coordinate_x` DOUBLE NULL, ! `coordinate_y` DOUBLE NULL, `display_name` VARCHAR(100) BINARY NULL, PRIMARY KEY (`uniqueid`), *************** *** 1093,1098 **** `external_uid` VARCHAR(40) BINARY NULL, `room_number` VARCHAR(10) BINARY NULL, ! `coordinate_x` BIGINT(10) NULL, ! `coordinate_y` BIGINT(10) NULL, `capacity` BIGINT(10) NULL, `classification` VARCHAR(20) BINARY NULL, --- 1222,1227 ---- `external_uid` VARCHAR(40) BINARY NULL, `room_number` VARCHAR(10) BINARY NULL, ! `coordinate_x` DOUBLE NULL, ! `coordinate_y` DOUBLE NULL, `capacity` BIGINT(10) NULL, `classification` VARCHAR(20) BINARY NULL, *************** *** 1348,1353 **** `name` VARCHAR(20) BINARY NULL, `capacity` BIGINT(10) NULL, ! `coordinate_x` BIGINT(10) NULL, ! `coordinate_y` BIGINT(10) NULL, `ignore_too_far` INT(1) NULL, `manager_ids` VARCHAR(200) BINARY NULL, --- 1477,1482 ---- `name` VARCHAR(20) BINARY NULL, `capacity` BIGINT(10) NULL, ! `coordinate_x` DOUBLE NULL, ! `coordinate_y` DOUBLE NULL, `ignore_too_far` INT(1) NULL, `manager_ids` VARCHAR(200) BINARY NULL, *************** *** 1409,1413 **** `offr_group_id` DECIMAL(20, 0) NOT NULL, `instr_offering_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`instr_offering_id`, `offr_group_id`), CONSTRAINT `fk_offr_group_instr_offr` FOREIGN KEY `fk_offr_group_instr_offr` (`instr_offering_id`) REFERENCES `timetable`.`instructional_offering` (`uniqueid`) --- 1538,1542 ---- `offr_group_id` DECIMAL(20, 0) NOT NULL, `instr_offering_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`offr_group_id`, `instr_offering_id`), CONSTRAINT `fk_offr_group_instr_offr` FOREIGN KEY `fk_offr_group_instr_offr` (`instr_offering_id`) REFERENCES `timetable`.`instructional_offering` (`uniqueid`) *************** *** 1466,1470 **** `academic_area_id` DECIMAL(20, 0) NOT NULL, `minor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`minor_id`, `academic_area_id`), CONSTRAINT `fk_pos_acad_area_minor_area` FOREIGN KEY `fk_pos_acad_area_minor_area` (`academic_area_id`) REFERENCES `timetable`.`academic_area` (`uniqueid`) --- 1595,1599 ---- `academic_area_id` DECIMAL(20, 0) NOT NULL, `minor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`academic_area_id`, `minor_id`), CONSTRAINT `fk_pos_acad_area_minor_area` FOREIGN KEY `fk_pos_acad_area_minor_area` (`academic_area_id`) REFERENCES `timetable`.`academic_area` (`uniqueid`) *************** *** 1486,1489 **** --- 1615,1619 ---- `session_id` DECIMAL(20, 0) NULL, PRIMARY KEY (`uniqueid`), + INDEX `idx_pos_major_code` (`code`(10), `session_id`), CONSTRAINT `fk_pos_major_session` FOREIGN KEY `fk_pos_major_session` (`session_id`) REFERENCES `timetable`.`sessions` (`uniqueid`) *************** *** 1605,1610 **** `room_number` VARCHAR(10) BINARY NULL, `capacity` BIGINT(10) NULL, ! `coordinate_x` BIGINT(10) NULL, ! `coordinate_y` BIGINT(10) NULL, `ignore_too_far` INT(1) NULL, `manager_ids` VARCHAR(200) BINARY NULL, --- 1735,1740 ---- `room_number` VARCHAR(10) BINARY NULL, `capacity` BIGINT(10) NULL, ! `coordinate_x` DOUBLE NULL, ! `coordinate_y` DOUBLE NULL, `ignore_too_far` INT(1) NULL, `manager_ids` VARCHAR(200) BINARY NULL, *************** *** 1796,1800 **** `status` BIGINT(10) NOT NULL, `message` VARCHAR(200) BINARY NULL, ! PRIMARY KEY (`session_id`, `room_type`), CONSTRAINT `fk_rtype_option_session` FOREIGN KEY `fk_rtype_option_session` (`session_id`) REFERENCES `timetable`.`sessions` (`uniqueid`) --- 1926,1930 ---- `status` BIGINT(10) NOT NULL, `message` VARCHAR(200) BINARY NULL, ! PRIMARY KEY (`room_type`, `session_id`), CONSTRAINT `fk_rtype_option_session` FOREIGN KEY `fk_rtype_option_session` (`session_id`) REFERENCES `timetable`.`sessions` (`uniqueid`) *************** *** 1859,1862 **** --- 1989,2004 ---- ENGINE = INNODB; + DROP TABLE IF EXISTS `timetable`.`sectioning_queue`; + CREATE TABLE `timetable`.`sectioning_queue` ( + `uniqueid` DECIMAL(20, 0) NOT NULL, + `session_id` DECIMAL(20, 0) NOT NULL, + `type` BIGINT(10) NOT NULL, + `time_stamp` DATETIME NOT NULL, + `message` LONGTEXT BINARY NULL, + PRIMARY KEY (`uniqueid`), + INDEX `idx_sect_queue_session_ts` (`session_id`, `time_stamp`) + ) + ENGINE = INNODB; + DROP TABLE IF EXISTS `timetable`.`sessions`; CREATE TABLE `timetable`.`sessions` ( *************** *** 1873,1876 **** --- 2015,2020 ---- `academic_term` VARCHAR(20) BINARY NULL, `exam_begin_date` DATETIME NULL, + `event_begin_date` DATETIME NULL, + `event_end_date` DATETIME NULL, PRIMARY KEY (`uniqueid`), INDEX `idx_sessions_date_pattern` (`def_datepatt_id`), *************** *** 2065,2070 **** `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `fname` VARCHAR(50) BINARY NULL, ! `mname` VARCHAR(50) BINARY NULL, `lname` VARCHAR(100) BINARY NULL, `pos_code` VARCHAR(20) BINARY NULL, --- 2209,2214 ---- `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `fname` VARCHAR(100) BINARY NULL, ! `mname` VARCHAR(100) BINARY NULL, `lname` VARCHAR(100) BINARY NULL, `pos_code` VARCHAR(20) BINARY NULL, *************** *** 2088,2093 **** `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `first_name` VARCHAR(50) BINARY NULL, ! `middle_name` VARCHAR(50) BINARY NULL, `last_name` VARCHAR(100) BINARY NULL, `email` VARCHAR(200) BINARY NULL, --- 2232,2237 ---- `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `first_name` VARCHAR(100) BINARY NULL, ! `middle_name` VARCHAR(100) BINARY NULL, `last_name` VARCHAR(100) BINARY NULL, `email` VARCHAR(200) BINARY NULL, *************** *** 2190,2193 **** --- 2334,2338 ---- PRIMARY KEY (`uniqueid`), INDEX `idx_student_enrl` (`solution_id`), + INDEX `idx_student_enrl_assignment` (`solution_id`, `class_id`), INDEX `idx_student_enrl_class` (`class_id`), CONSTRAINT `fk_student_enrl_class` FOREIGN KEY `fk_student_enrl_class` (`class_id`) *************** *** 2285,2289 **** `student_id` DECIMAL(20, 0) NOT NULL, `minor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`minor_id`, `student_id`), CONSTRAINT `fk_student_minor_minor` FOREIGN KEY `fk_student_minor_minor` (`minor_id`) REFERENCES `timetable`.`pos_minor` (`uniqueid`) --- 2430,2434 ---- `student_id` DECIMAL(20, 0) NOT NULL, `minor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`student_id`, `minor_id`), CONSTRAINT `fk_student_minor_minor` FOREIGN KEY `fk_student_minor_minor` (`minor_id`) REFERENCES `timetable`.`pos_minor` (`uniqueid`) *************** *** 2380,2386 **** `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `first_name` VARCHAR(20) BINARY NULL, ! `middle_name` VARCHAR(20) BINARY NULL, ! `last_name` VARCHAR(30) BINARY NULL, `email_address` VARCHAR(200) BINARY NULL, `last_modified_time` DATETIME NULL, --- 2525,2531 ---- `uniqueid` DECIMAL(20, 0) NOT NULL, `external_uid` VARCHAR(40) BINARY NULL, ! `first_name` VARCHAR(100) BINARY NULL, ! `middle_name` VARCHAR(100) BINARY NULL, ! `last_name` VARCHAR(100) BINARY NULL, `email_address` VARCHAR(200) BINARY NULL, `last_modified_time` DATETIME NULL, *************** *** 2483,2486 **** --- 2628,2632 ---- `uniqueid` DECIMAL(20, 0) NOT NULL, `is_primary` INT(1) NULL, + `receive_emails` INT(1) NULL DEFAULT 1, PRIMARY KEY (`uniqueid`), UNIQUE INDEX `uk_tmtbl_mgr_to_roles_mgr_role` (`manager_id`, `role_id`), *************** *** 2548,2552 **** `conflict_id` DECIMAL(20, 0) NOT NULL, `exam_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`exam_id`, `conflict_id`), INDEX `idx_xconflict_exam` (`exam_id`), CONSTRAINT `fk_xconflict_ex_conf` FOREIGN KEY `fk_xconflict_ex_conf` (`conflict_id`) --- 2694,2698 ---- `conflict_id` DECIMAL(20, 0) NOT NULL, `exam_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`conflict_id`, `exam_id`), INDEX `idx_xconflict_exam` (`exam_id`), CONSTRAINT `fk_xconflict_ex_conf` FOREIGN KEY `fk_xconflict_ex_conf` (`conflict_id`) *************** *** 2565,2569 **** `conflict_id` DECIMAL(20, 0) NOT NULL, `instructor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`instructor_id`, `conflict_id`), CONSTRAINT `fk_xconflict_in_conf` FOREIGN KEY `fk_xconflict_in_conf` (`conflict_id`) REFERENCES `timetable`.`xconflict` (`uniqueid`) --- 2711,2715 ---- `conflict_id` DECIMAL(20, 0) NOT NULL, `instructor_id` DECIMAL(20, 0) NOT NULL, ! PRIMARY KEY (`conflict_id`, `instructor_id`), CONSTRAINT `fk_xconflict_in_conf` FOREIGN KEY `fk_xconflict_in_conf` (`conflict_id`) REFERENCES `timetable`.`xconflict` (`uniqueid`) Index: woebegon-data.sql =================================================================== RCS file: /cvsroot/unitime/UniTime/Documentation/Database/MySQL/woebegon-data.sql,v retrieving revision 1.18 retrieving revision 1.19 diff -C2 -d -r1.18 -r1.19 *** woebegon-data.sql 22 Jul 2008 19:08:51 -0000 1.18 --- woebegon-data.sql 1 Dec 2010 11:10:50 -0000 1.19 *************** *** 1,9838 **** ! /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or ! * (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, [...27344 lines suppressed...] ! (239000, 232546), ! (239001, 232496), ! (239002, 232558), ! (239003, 232632), ! (239004, 232546), ! (239005, 232644), ! (239006, 232448), ! (239007, 231849), ! (239008, 232460), ! (239008, 232484), ! (239009, 232522), ! (239009, 232534), ! (239010, 232558), ! (239011, 232472), ! (239011, 232534); ! ! -- Re-enable foreign key checks ! SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; ! ! -- End of script Index: blank-data.sql =================================================================== RCS file: /cvsroot/unitime/UniTime/Documentation/Database/MySQL/blank-data.sql,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** blank-data.sql 22 Jul 2008 19:08:51 -0000 1.10 --- blank-data.sql 1 Dec 2010 11:10:50 -0000 1.11 *************** *** 1,853 **** ! /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or ! * (at your option) any later version. ! * ! * This program is distributed in the hope that it will be useful, [...2916 lines suppressed...] ! VALUES (1, 'Default.Interactive', 'Interactive', 0), ! (2, 'Default.Validate', 'Validate', 1), ! (3, 'Default.Check', 'Check', 1), ! (4, 'Default.Solver', 'Default', 1), ! (101, 'Exam.Default', 'Default', 2), ! (121, 'StudentSct.Default', 'Default', 3); ! ! INSERT INTO `timetable`.`timetable_manager`(`uniqueid`, `external_uid`, `first_name`, `middle_name`, `last_name`, `email_address`, `last_modified_time`) ! VALUES (470, '1', 'Deafult', NULL, 'Admin', 'de...@un...', NULL); ! ! INSERT INTO `timetable`.`tmtbl_mgr_to_roles`(`manager_id`, `role_id`, `uniqueid`, `is_primary`, `receive_emails`) ! VALUES (470, 1, 510, 1, 1); ! ! INSERT INTO `timetable`.`users`(`username`, `password`, `external_uid`) ! VALUES ('admin', 'ISMvKXpXpadDiUoOSoAfww==', '1'); ! ! -- Re-enable foreign key checks ! SET FOREIGN_KEY_CHECKS=@OLD_FOREIGN_KEY_CHECKS; ! ! -- End of script |
Update of /cvsroot/unitime/UniTime/WebContent/user In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/user Modified Files: instructorAdd.jsp posReservationEdit.jsp reservationList.jsp eventAddInfo.jsp pdfEnrollmentAuditReport.jsp eventEdit.jsp classAssignmentsReportSearch.jsp reservationEdit.jsp instructionalOfferingConfigEdit.jsp classInstructorAssignment.jsp classAssignmentsReportList.jsp instructorDetail.jsp studentGroupReservationEdit.jsp designatorEdit.jsp inquiry.jsp instructionalOfferingSearch.jsp schedulingSubpartEdit.jsp instructorLookup.jspf examList.jsp instructionalOfferingList.jsp instructorListUpdate.jsp individualReservationEdit.jsp instructorPrefsEdit.jsp courseOfferingEdit.jsp classSearch.jsp instructionalOfferingModify.jsp crossListsModify.jsp classDetail.jsp eventDetail.jsp schedulingSubpartDetail.jsp reservationCommon.jspf instructorList.jsp preferencesEdit.jspf instructor.jspf instructorSearch.jsp instructionalOfferingDetail.jsp academicAreaReservationEdit.jsp preferencesDetail.jspf eventRoomAvailability.jsp dispDatePattern.jsp eventList.jsp classes.jsp instructorInfoEdit.jsp curriculumList.jsp managerSettings.jsp eventGrid.jsp designatorList.jsp prefs.jsp courseReservationEdit.jsp classEdit.jsp examDistributionPrefs.jsp distributionPrefs.jsp eventAdd.jsp meetingList.jsp peopleLookup.jsp reservationCommonEdit.jspf examEdit.jsp classList.jsp examDetail.jsp Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: reservationEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/reservationEdit.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** reservationEdit.jsp 17 Jun 2008 21:24:48 -0000 1.2 --- reservationEdit.jsp 1 Dec 2010 11:10:47 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> *************** *** 34,38 **** <html:form action="/reservationEdit"> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <TR> --- 34,38 ---- <html:form action="/reservationEdit"> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> Index: reservationCommon.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/reservationCommon.jspf,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** reservationCommon.jspf 17 Feb 2010 15:32:00 -0000 1.7 --- reservationCommon.jspf 1 Dec 2010 11:10:47 -0000 1.8 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <logic:messagesPresent> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <logic:messagesPresent> Index: instructorInfoEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorInfoEdit.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** instructorInfoEdit.jsp 17 Jun 2008 21:24:48 -0000 1.2 --- instructorInfoEdit.jsp 1 Dec 2010 11:10:47 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 55,59 **** <html:hidden property="lookupEnabled"/> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <%@include file="instructorLookup.jspf" %> <% --- 55,59 ---- <html:hidden property="lookupEnabled"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <%@include file="instructorLookup.jspf" %> <% Index: instructorPrefsEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorPrefsEdit.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** instructorPrefsEdit.jsp 17 Jun 2008 21:24:48 -0000 1.3 --- instructorPrefsEdit.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 45,49 **** <html:hidden property="deptCode"/> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> --- 45,49 ---- <html:hidden property="deptCode"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> Index: classAssignmentsReportSearch.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/classAssignmentsReportSearch.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** classAssignmentsReportSearch.jsp 17 Jun 2008 21:24:48 -0000 1.3 --- classAssignmentsReportSearch.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 25,29 **** <%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="logic"%> <%@ taglib uri="/WEB-INF/tld/struts-tiles.tld" prefix="tiles"%> - <%@ taglib uri="/WEB-INF/tld/struts-layout.tld" prefix="layout"%> <%@ taglib uri="/WEB-INF/tld/timetable.tld" prefix="tt" %> <script language="JavaScript" type="text/javascript" src="scripts/block.js"></script> --- 25,28 ---- *************** *** 37,41 **** <html:form action="/classAssignmentsReportSearch"> ! <TABLE border="0" cellspacing="5" width='93%'> <TR> <TD> --- 36,40 ---- <html:form action="/classAssignmentsReportSearch"> ! <TABLE border="0" cellspacing="5" width='100%'> <TR> <TD> *************** *** 145,149 **** <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> --- 144,148 ---- <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> Index: eventEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/eventEdit.jsp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** eventEdit.jsp 24 Mar 2009 15:03:51 -0000 1.6 --- eventEdit.jsp 1 Dec 2010 11:10:47 -0000 1.7 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> *************** *** 31,35 **** <html:form action="/eventEdit"> <html:hidden property = "id"/> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <logic:messagesPresent> <TR> --- 31,35 ---- <html:form action="/eventEdit"> <html:hidden property = "id"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <logic:messagesPresent> <TR> *************** *** 92,96 **** <html:text property="mainContactFirstName" maxlength="20" size="30" styleId="fname" /> <logic:equal name="eventEditForm" property="mainContactLookup" value="true"> ! <input type='button' value='Lookup' onclick="window.open('user/peopleLookup.jsp?query='+mainContactFirstName.value+' '+mainContactLastName.value,'peopleLookup','width=800,height=600,resizable=no,scrollbars=yes,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no').focus();" style="btn"> </logic:equal> </TD> --- 92,96 ---- <html:text property="mainContactFirstName" maxlength="20" size="30" styleId="fname" /> <logic:equal name="eventEditForm" property="mainContactLookup" value="true"> ! <input type='button' value='Lookup' onclick="lookup();" style="btn"> </logic:equal> </TD> *************** *** 165,169 **** </TD> <TD> ! <bean:write name="meeting" property="location"/> </TD> <TD> --- 165,169 ---- </TD> <TD> ! <bean:write name="meeting" property="location" filter="false"/> </TD> <TD> *************** *** 225,227 **** --- 225,241 ---- </TABLE> + <script language="javascript"> + function lookup() { + peopleLookup((document.getElementById('fname').value + ' ' + document.getElementById('lname').value).trim(), function(person) { + if (person) { + document.getElementById('uid').value = person[0]; + document.getElementById('fname').value = person[1]; + document.getElementById('mname').value = person[2]; + document.getElementById('lname').value = person[3]; + document.getElementById('email').value = person[4]; + document.getElementById('phone').value = person[5]; + } + }, "allowNoExternalId"); + } + </script> </html:form> Index: instructorLookup.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorLookup.jspf,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** instructorLookup.jspf 26 Aug 2009 01:52:12 -0000 1.4 --- instructorLookup.jspf 1 Dec 2010 11:10:47 -0000 1.5 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page import="org.unitime.commons.web.Web" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page import="org.unitime.commons.web.Web" %> Index: preferencesDetail.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/preferencesDetail.jspf,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** preferencesDetail.jspf 16 Oct 2008 16:33:28 -0000 1.4 --- preferencesDetail.jspf 1 Dec 2010 11:10:47 -0000 1.5 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true"%> Index: instructionalOfferingList.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructionalOfferingList.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** instructionalOfferingList.jsp 17 Jun 2008 21:24:48 -0000 1.3 --- instructionalOfferingList.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java"%> Index: schedulingSubpartDetail.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/schedulingSubpartDetail.jsp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** schedulingSubpartDetail.jsp 17 Jun 2008 21:24:49 -0000 1.5 --- schedulingSubpartDetail.jsp 1 Dec 2010 11:10:47 -0000 1.6 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> *************** *** 63,76 **** <html:hidden property="previousId"/> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> <tt:section-header> <tt:section-title> ! <A title="Instructional Offering Detail (Alt+I)" accesskey="I" class="l7" href="instructionalOfferingDetail.do?op=view&io=<bean:write name="<%=frmName%>" property="instrOfferingId"/>"> <bean:write name="<%=frmName%>" property="subjectArea"/> ! <bean:write name="<%=frmName%>" property="courseNbr"/> ! </A> : <bean:write name="<%=frmName%>" property="parentSubpart" /> <bean:write name="<%=frmName%>" property="instructionalTypeLabel" /> --- 63,75 ---- <html:hidden property="previousId"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> <tt:section-header> <tt:section-title> ! <A title="Instructional Offering Detail (Alt+I)" accesskey="I" class="l8" href="instructionalOfferingDetail.do?op=view&io=<bean:write name="<%=frmName%>" property="instrOfferingId"/>"> <bean:write name="<%=frmName%>" property="subjectArea"/> ! <bean:write name="<%=frmName%>" property="courseNbr"/> - <bean:write name="<%=frmName%>" property="courseTitle"/></A>: <bean:write name="<%=frmName%>" property="parentSubpart" /> <bean:write name="<%=frmName%>" property="instructionalTypeLabel" /> *************** *** 174,178 **** <logic:equal name="<%=frmName%>" property="datePattern" value="<%=((IdValue)dp).getId().toString()%>"> <bean:write name="dp" property="value" /> ! <img style="cursor: pointer;" src="scripts/jscalendar/calendar_1.gif" border="0" onclick="window.open('user/dispDatePattern.jsp?id=<%=((IdValue)dp).getId()%>&subpart='+SchedulingSubpartEditForm.schedulingSubpartId.value,'datepatt','width=800,height=410,resizable=no,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no');"> </logic:equal> </logic:iterate> --- 173,177 ---- <logic:equal name="<%=frmName%>" property="datePattern" value="<%=((IdValue)dp).getId().toString()%>"> <bean:write name="dp" property="value" /> ! <img style="cursor: pointer;" src="scripts/jscalendar/calendar_1.gif" border="0" onclick="showGwtDialog('Preview of <%=((IdValue)dp).getValue()%>', 'user/dispDatePattern.jsp?id=<%=((IdValue)dp).getId()%>&subpart='+SchedulingSubpartEditForm.schedulingSubpartId.value,'840','520');"> </logic:equal> </logic:iterate> Index: examEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/examEdit.jsp,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** examEdit.jsp 4 Mar 2009 18:00:07 -0000 1.10 --- examEdit.jsp 1 Dec 2010 11:10:47 -0000 1.11 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 46,50 **** <html:hidden property="op2" value=""/> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> --- 46,50 ---- <html:hidden property="op2" value=""/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> Index: instructorAdd.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorAdd.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** instructorAdd.jsp 17 Jun 2008 21:24:48 -0000 1.2 --- instructorAdd.jsp 1 Dec 2010 11:10:47 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 37,41 **** <html:hidden property="instructorId"/> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <%@include file="instructorLookup.jspf" %> <% --- 37,41 ---- <html:hidden property="instructorId"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <%@include file="instructorLookup.jspf" %> <% Index: instructorList.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorList.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** instructorList.jsp 17 Jun 2008 21:24:49 -0000 1.4 --- instructorList.jsp 1 Dec 2010 11:10:47 -0000 1.5 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 31,35 **** %> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan="11"> --- 31,35 ---- %> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan="11"> Index: managerSettings.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/managerSettings.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** managerSettings.jsp 17 Jun 2008 21:24:48 -0000 1.3 --- managerSettings.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true"%> *************** *** 33,37 **** <html:hidden property="settingId"/><html:errors property="settingId"/> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD> --- 33,37 ---- <html:hidden property="settingId"/><html:errors property="settingId"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD> *************** *** 83,87 **** </logic:equal> <logic:notEqual name="mgrSettingsForm" property="op" value="Edit"> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <%= request.getAttribute(Settings.SETTINGS_ATTR_NAME) %> </TABLE> --- 83,87 ---- </logic:equal> <logic:notEqual name="mgrSettingsForm" property="op" value="Edit"> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <%= request.getAttribute(Settings.SETTINGS_ATTR_NAME) %> </TABLE> Index: classAssignmentsReportList.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/classAssignmentsReportList.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** classAssignmentsReportList.jsp 17 Jun 2008 21:24:48 -0000 1.3 --- classAssignmentsReportList.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> Index: schedulingSubpartEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/schedulingSubpartEdit.jsp,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** schedulingSubpartEdit.jsp 16 Oct 2008 16:33:28 -0000 1.6 --- schedulingSubpartEdit.jsp 1 Dec 2010 11:10:47 -0000 1.7 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> *************** *** 55,59 **** <html:hidden property="subpartCreditEditAllowed"/> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> --- 55,59 ---- <html:hidden property="subpartCreditEditAllowed"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> *************** *** 158,162 **** <html:options collection="<%=org.unitime.timetable.model.DatePattern.DATE_PATTERN_LIST_ATTR%>" property="id" labelProperty="value" /> </html:select> ! <img style="cursor: pointer;" src="scripts/jscalendar/calendar_1.gif" border="0" onclick="window.open('user/dispDatePattern.jsp?id='+SchedulingSubpartEditForm.datePattern.value+'&subpart='+SchedulingSubpartEditForm.schedulingSubpartId.value,'datepatt','width=800,height=410,resizable=no,scrollbars=no,toolbar=no,location=no,directories=no,status=no,menubar=no,copyhistory=no');"> <TD> </TR> --- 158,162 ---- <html:options collection="<%=org.unitime.timetable.model.DatePattern.DATE_PATTERN_LIST_ATTR%>" property="id" labelProperty="value" /> </html:select> ! <img style="cursor: pointer;" src="scripts/jscalendar/calendar_1.gif" border="0" onclick="showGwtDialog('Preview of '+SchedulingSubpartEditForm.datePattern.options[SchedulingSubpartEditForm.datePattern.selectedIndex].text, 'user/dispDatePattern.jsp?id='+SchedulingSubpartEditForm.datePattern.value+'&subpart='+SchedulingSubpartEditForm.schedulingSubpartId.value,'840','520');"> <TD> </TR> Index: classList.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/classList.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** classList.jsp 17 Jun 2008 21:24:49 -0000 1.3 --- classList.jsp 1 Dec 2010 11:10:47 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true"%> Index: curriculumList.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/curriculumList.jsp,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** curriculumList.jsp 10 Sep 2008 22:03:42 -0000 1.1 --- curriculumList.jsp 1 Dec 2010 11:10:47 -0000 1.2 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> *************** *** 34,38 **** <html:form action="/eventList"> <script language="JavaScript">blToggleHeader('Filter','dispFilter');blStart('dispFilter');</script> ! <TABLE border="0" cellspacing="0" cellpadding="3" width='90%'> <logic:messagesPresent> <TR> --- 34,38 ---- <html:form action="/eventList"> <script language="JavaScript">blToggleHeader('Filter','dispFilter');blStart('dispFilter');</script> ! <TABLE border="0" cellspacing="0" cellpadding="3" width='100%'> <logic:messagesPresent> <TR> Index: individualReservationEdit.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/individualReservationEdit.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** individualReservationEdit.jsp 17 Jun 2008 21:24:48 -0000 1.2 --- individualReservationEdit.jsp 1 Dec 2010 11:10:47 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> Index: instructorListUpdate.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorListUpdate.jsp,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** instructorListUpdate.jsp 12 Feb 2010 12:44:09 -0000 1.4 --- instructorListUpdate.jsp 1 Dec 2010 11:10:47 -0000 1.5 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 58,62 **** <html:form action="instructorListUpdate"> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> --- 58,62 ---- <html:form action="instructorListUpdate"> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> *************** *** 129,133 **** </TABLE> <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> --- 129,133 ---- </TABLE> <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> Index: instructionalOfferingModify.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructionalOfferingModify.jsp,v retrieving revision 1.13 retrieving revision 1.14 diff -C2 -d -r1.13 -r1.14 *** instructionalOfferingModify.jsp 7 Oct 2009 17:47:57 -0000 1.13 --- instructionalOfferingModify.jsp 1 Dec 2010 11:10:47 -0000 1.14 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> *************** *** 135,139 **** <INPUT type="hidden" name="moveDownClassId" value = ""> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <!-- Buttons --> <TR> --- 135,139 ---- <INPUT type="hidden" name="moveDownClassId" value = ""> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <!-- Buttons --> <TR> Index: instructorDetail.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructorDetail.jsp,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** instructorDetail.jsp 26 Aug 2009 01:52:12 -0000 1.7 --- instructorDetail.jsp 1 Dec 2010 11:10:47 -0000 1.8 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp"%> *************** *** 45,49 **** <html:hidden property="op2" value=""/> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> --- 45,49 ---- <html:hidden property="op2" value=""/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD valign="middle" colspan='2'> *************** *** 182,186 **** <TR> <TD colspan="2"> ! <table width="90%" border="0" cellspacing="0" cellpadding="3"> <%if (request.getAttribute("classTable") != null ) {%> <%=request.getAttribute("classTable")%> --- 182,186 ---- <TR> <TD colspan="2"> ! <table width="100%" border="0" cellspacing="0" cellpadding="3"> <%if (request.getAttribute("classTable") != null ) {%> <%=request.getAttribute("classTable")%> Index: eventAdd.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/eventAdd.jsp,v retrieving revision 1.19 retrieving revision 1.20 diff -C2 -d -r1.19 -r1.20 *** eventAdd.jsp 4 Mar 2009 18:00:07 -0000 1.19 --- eventAdd.jsp 1 Dec 2010 11:10:47 -0000 1.20 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * * <bean:write name="eventDetailForm" property="additionalInfo"/> --%> *************** *** 32,36 **** <html:hidden property="isAddMeetings"/> <html:hidden property="eventId"/> ! <TABLE width="93%" border="0" cellspacing="0" cellpadding="3"> <logic:messagesPresent> <TR> --- 32,36 ---- <html:hidden property="isAddMeetings"/> <html:hidden property="eventId"/> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <logic:messagesPresent> <TR> *************** *** 147,151 **** </logic:empty> <logic:notEmpty scope="request" name="EventAddMeetings.table"> ! <table border='0' cellspacing="0" cellpadding="3" width='99%'> <bean:write scope="request" name="EventAddMeetings.table" filter="false"/> </table> --- 147,151 ---- </logic:empty> <logic:notEmpty scope="request" name="EventAddMeetings.table"> ! <table border='0' cellspacing="0" cellpadding="3" width='100%'> <bean:write scope="request" name="EventAddMeetings.table" filter="false"/> </table> *************** *** 290,297 **** <logic:iterate name="eventAddForm" property="allRoomTypes" id="rf" indexId="rfIdx"> <td nowrap> ! <html:multibox property="roomTypes"> ! <bean:write name="rf" property="uniqueId"/> ! </html:multibox> ! <bean:write name="rf" property="label"/> </td> <% if (rfIdx%4==3) { %> --- 290,315 ---- <logic:iterate name="eventAddForm" property="allRoomTypes" id="rf" indexId="rfIdx"> <td nowrap> ! <logic:equal name="rf" property="room" value="true"> ! <html:multibox property="roomTypes"> ! <bean:write name="rf" property="uniqueId"/> ! </html:multibox> ! <bean:write name="rf" property="label"/> ! </logic:equal> ! <logic:equal name="rf" property="room" value="false"> ! <bean:define id="rfId" name="rf" property="uniqueId"/> ! <html:multibox property="roomTypes" onchange="<%="document.getElementById('nul" + rfId + "').style.display = (this.checked ? null : 'none');"%>" styleId="<%="chnul" + rfId%>"> ! <bean:write name="rf" property="uniqueId"/> ! </html:multibox> ! <bean:write name="rf" property="label"/><span id="<%="nul"+rfId%>">: ! <html:select name="eventAddForm" property="<%="nonUniversityLocation[" + rfId + "]"%>" ! onfocus="setUp();" ! onkeypress="return selectSearch(event, this);" ! onkeydown="return checkKey(event, this);"> ! <html:option value="-1">Select...</html:option> ! <html:optionsCollection name="eventAddForm" property="<%="nonUniversityLocations[" + rfId + "]"%>" label="label" value="uniqueId"/> ! </html:select> ! </span> ! <script>document.getElementById('nul<%=rfId%>').style.display = (document.getElementById('chnul<%=rfId%>').checked ? null : 'none');</script> ! </logic:equal> </td> <% if (rfIdx%4==3) { %> *************** *** 317,328 **** </TD> </TR> - <!-- - <TR> - <TD> </TD> - <TD> - <html:checkbox property="lookAtNearLocations"/> Also look at other locations close by. - </TD> - </TR> - --> <TR> <TD> --- 335,338 ---- Index: instructionalOfferingSearch.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/instructionalOfferingSearch.jsp,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** instructionalOfferingSearch.jsp 19 Aug 2009 21:00:14 -0000 1.5 --- instructionalOfferingSearch.jsp 1 Dec 2010 11:10:47 -0000 1.6 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" autoFlush="true" errorPage="../error.jsp" %> *************** *** 230,234 **** <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="90%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> --- 230,234 ---- <script language="JavaScript" type="text/javascript">blEnd('dispFilter');blStartCollapsed('dispFilter');</script> ! <TABLE width="100%" border="0" cellspacing="0" cellpadding="3"> <TR> <TD colspan='2' align='right'> Index: classDetail.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/user/classDetail.jsp,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** classDetail.jsp 26 Aug 2009 01:51:21 -0000 1.9 --- classDetail.jsp 1 Dec 2010 11:10:47 -0000 1.10 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) * Copyright (C) 2008-2009, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2008-2009, UniTime LLC * * This program is free... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/stats In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons/hibernate/stats Modified Files: StatsProvider.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: StatsProvider.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/stats/StatsProvider.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** StatsProvider.java 17 Jun 2008 21:25:04 -0000 1.3 --- StatsProvider.java 1 Dec 2010 11:10:52 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.hibernate.stats; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.hibernate.stats; *************** *** 73,77 **** // Generate HTML table Table table = new Table(); ! table.setWidth("90%"); table.setBorder(0); table.setCellSpacing(0); --- 73,77 ---- // Generate HTML table Table table = new Table(); ! table.setWidth("100%"); table.setBorder(0); table.setCellSpacing(0); *************** *** 593,609 **** return(cell); } ! ! /** ! * Generate table cell (nowrap=false, align=left and valign=top) ! * @param content Content of cell ! * @param rowSpan Row Span ! * @param colSpan Column Span ! * @return TableHeaderCell Object ! */ ! private TableCell cell(String content, int rowSpan, int colSpan){ ! TableCell cell = cell(content, rowSpan, colSpan, false, "left", "top"); ! return(cell); ! } ! /** * Generate table cell (align=left and valign=top) --- 593,597 ---- return(cell); } ! /** * Generate table cell (align=left and valign=top) |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/WebContent/scripts In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/scripts Modified Files: tree.js datagrid.js suggest.js javascript.js HM_ScriptDOM.js loading.js HM_Loader.js swap.js block.js rtt.js HM_ScriptIE4.js datepatt.js select.js HM_ScriptNS4.js scrollbar.js Added Files: popup.js selectDependent.js Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: HM_Loader.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/HM_Loader.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HM_Loader.js 12 Jun 2007 02:27:31 -0000 1.1 --- HM_Loader.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,65 **** ! /*HM_Loader.js ! * by Peter Belesis. v4.0.7 010323 ! * Copyright (c) 2001 Peter Belesis. All Rights Reserved. ! */ ! ! HM_DOM = (document.getElementById) ? true : false; ! HM_NS4 = (document.layers) ? true : false; ! HM_IE = (document.all) ? true : false; ! HM_IE4 = HM_IE && !HM_DOM; ! HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); ! HM_IE4M = HM_IE4 && HM_Mac; ! HM_IsMenu = (HM_DOM || HM_NS4 || (HM_IE4 && !HM_IE4M)); ! ! HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; ! ! if(window.event + "" == "undefined") event = null; ! function HM_f_PopUp(){return false}; ! function HM_f_PopDown(){return false}; ! popUp = HM_f_PopUp; ! popDown = HM_f_PopDown; ! ! ! HM_GL_MenuWidth = 150; ! HM_GL_FontFamily = "Arial,sans-serif"; ! HM_GL_FontSize = 10; ! HM_GL_FontBold = false; ! HM_GL_FontItalic = false; ! HM_GL_FontColor = "black"; ! HM_GL_FontColorOver = "white"; ! HM_GL_BGColor = "white"; ! HM_GL_BGColorOver = "black"; ! HM_GL_ItemPadding = 3; ! ! HM_GL_BorderWidth = 1; ! HM_GL_BorderColor = "red"; ! HM_GL_BorderStyle = "solid"; ! HM_GL_SeparatorSize = 1; ! HM_GL_SeparatorColor = "yellow"; ! HM_GL_ImageSrc = "tri.gif"; ! HM_GL_ImageSrcLeft = "triL.gif"; ! HM_GL_ImageSize = 5; ! HM_GL_ImageHorizSpace = 5; ! HM_GL_ImageVertSpace = 5; ! ! HM_GL_KeepHilite = false; ! HM_GL_ClickStart = false; ! HM_GL_ClickKill = 0; ! HM_GL_ChildOverlap = 40; ! HM_GL_ChildOffset = 10; ! HM_GL_ChildPerCentOver = null; ! HM_GL_TopSecondsVisible = .5; ! HM_GL_StatusDisplayBuild = 0; ! HM_GL_StatusDisplayLink = 1; ! HM_GL_UponDisplay = null; ! HM_GL_UponHide = null; ! ! //HM_GL_RightToLeft = true; ! HM_GL_CreateTopOnly = HM_NS4 ? true : false; ! HM_GL_ShowLinkCursor = true; ! ! if(HM_IsMenu) { ! document.write("<SCR" + "IPT LANGUAGE='JavaScript1.2' SRC='" + scriptsrc +"HM_Script"+ HM_BrowserString +".js' TYPE='text/javascript'><\/SCR" + "IPT>"); ! } ! //end \ No newline at end of file --- 1,65 ---- ! /*HM_Loader.js ! * by Peter Belesis. v4.0.7 010323 ! * Copyright (c) 2001 Peter Belesis. All Rights Reserved. ! */ ! ! HM_DOM = (document.getElementById) ? true : false; ! HM_NS4 = (document.layers) ? true : false; ! HM_IE = (document.all) ? true : false; ! HM_IE4 = HM_IE && !HM_DOM; ! HM_Mac = (navigator.appVersion.indexOf("Mac") != -1); ! HM_IE4M = HM_IE4 && HM_Mac; ! HM_IsMenu = (HM_DOM || HM_NS4 || (HM_IE4 && !HM_IE4M)); ! ! HM_BrowserString = HM_NS4 ? "NS4" : HM_DOM ? "DOM" : "IE4"; ! ! if(window.event + "" == "undefined") event = null; ! function HM_f_PopUp(){return false}; ! function HM_f_PopDown(){return false}; ! popUp = HM_f_PopUp; ! popDown = HM_f_PopDown; ! ! ! HM_GL_MenuWidth = 150; ! HM_GL_FontFamily = "Arial,sans-serif"; ! HM_GL_FontSize = 10; ! HM_GL_FontBold = false; ! HM_GL_FontItalic = false; ! HM_GL_FontColor = "black"; ! HM_GL_FontColorOver = "white"; ! HM_GL_BGColor = "white"; ! HM_GL_BGColorOver = "black"; ! HM_GL_ItemPadding = 3; ! ! HM_GL_BorderWidth = 1; ! HM_GL_BorderColor = "red"; ! HM_GL_BorderStyle = "solid"; ! HM_GL_SeparatorSize = 1; ! HM_GL_SeparatorColor = "yellow"; ! HM_GL_ImageSrc = "tri.gif"; ! HM_GL_ImageSrcLeft = "triL.gif"; ! HM_GL_ImageSize = 5; ! HM_GL_ImageHorizSpace = 5; ! HM_GL_ImageVertSpace = 5; ! ! HM_GL_KeepHilite = false; ! HM_GL_ClickStart = false; ! HM_GL_ClickKill = 0; ! HM_GL_ChildOverlap = 40; ! HM_GL_ChildOffset = 10; ! HM_GL_ChildPerCentOver = null; ! HM_GL_TopSecondsVisible = .5; ! HM_GL_StatusDisplayBuild = 0; ! HM_GL_StatusDisplayLink = 1; ! HM_GL_UponDisplay = null; ! HM_GL_UponHide = null; ! ! //HM_GL_RightToLeft = true; ! HM_GL_CreateTopOnly = HM_NS4 ? true : false; ! HM_GL_ShowLinkCursor = true; ! ! if(HM_IsMenu) { ! document.write("<SCR" + "IPT LANGUAGE='JavaScript1.2' SRC='" + scriptsrc +"HM_Script"+ HM_BrowserString +".js' TYPE='text/javascript'><\/SCR" + "IPT>"); ! } ! //end \ No newline at end of file Index: scrollbar.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/scrollbar.js,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** scrollbar.js 17 Jun 2008 21:24:56 -0000 1.2 --- scrollbar.js 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,98 **** ! /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC ! * ! * This program is free software; you can redistribute it and/or modify ! * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or ! * (at your option) any later version. ! * ! * This program 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 General Public License for more details. ! * ! * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ! */ ! ! function findDiv(tagName) { ! var p = document.getElementById(tagName); ! var elementLayer; ! while (elementLayer==null) { ! if (p.tagName.toUpperCase()=="DIV") { ! elementLayer = p; ! } else { ! p = p.parentNode; ! } ! } ! return elementLayer; ! } ! ! function initScrollbar(collectionTableId, collectionDivId) { ! var element = document.getElementById(collectionTableId); ! if (element==null) { ! // id was not specified ? ! return; ! } ! ! var layer = document.getElementById(collectionDivId); ! if (layer==null) { ! // id was not specified ? ! return; ! } ! ! // compute the position of the table. ! var x = 0; ! var y = 0; ! var p = element; ! while (p!=null && p.tagName.toUpperCase()!="BODY") { ! x += p.offsetLeft; ! y += p.offsetTop; ! p = p.offsetParent; ! } ! ! ! // find the div the table is in. ! p = element; ! var elementLayer = findDiv(collectionTableId); ! ! // ok, set the header div position ! layer.style.left = x; ! layer.style.top = y ! ! // copy the table in it. ! var copy = element.cloneNode(true); ! layer.appendChild(copy); ! ! // don't show what is hidden ! layer.style.overflow = "hidden"; ! ! // fix its size ! layer.style.width = elementLayer.offsetWidth - 16; //element.offsetWidth; ! layer.style.height = element.getElementsByTagName("tr")[0].offsetHeight + 4; ! ! ! // create horizontal scroll synchronize handler. ! var scrollX = function() { ! layer.scrollLeft = elementLayer.scrollLeft; ! } ! ! //new Function("document.getElementById('" + collectionDivId + "').scrollLeft = findDiv('" + collectionTableId + "').scrollLeft;"); ! ! // register synchronization handler. ! elementLayer.onscroll = scrollX; ! } ! ! function addLoadEvent(func) { ! var oldonload = window.onload; ! if (typeof window.onload != 'function') { ! window.onload = func; ! } else { ! window.onload = function() { ! oldonload(); ! func(); ! } ! } ! } --- 1,79 ---- ! function findDiv(tagName) { ! var p = document.getElementById(tagName); ! var elementLayer; ! while (elementLayer==null) { ! if (p.tagName.toUpperCase()=="DIV") { ! elementLayer = p; ! } else { ! p = p.parentNode; ! } ! } ! return elementLayer; ! } ! ! function initScrollbar(collectionTableId, collectionDivId) { ! var element = document.getElementById(collectionTableId); ! if (element==null) { ! // id was not specified ? ! return; ! } ! ! var layer = document.getElementById(collectionDivId); ! if (layer==null) { ! // id was not specified ? ! return; ! } ! ! // compute the position of the table. ! var x = 0; ! var y = 0; ! var p = element; ! while (p!=null && p.tagName.toUpperCase()!="BODY") { ! x += p.offsetLeft; ! y += p.offsetTop; ! p = p.offsetParent; ! } ! ! ! // find the div the table is in. ! p = element; ! var elementLayer = findDiv(collectionTableId); ! ! // ok, set the header div position ! layer.style.left = x; ! layer.style.top = y ! ! // copy the table in it. ! var copy = element.cloneNode(true); ! layer.appendChild(copy); ! ! // don't show what is hidden ! layer.style.overflow = "hidden"; ! ! // fix its size ! layer.style.width = elementLayer.offsetWidth - 16; //element.offsetWidth; ! layer.style.height = element.getElementsByTagName("tr")[0].offsetHeight + 4; ! ! ! // create horizontal scroll synchronize handler. ! var scrollX = function() { ! layer.scrollLeft = elementLayer.scrollLeft; ! } ! ! //new Function("document.getElementById('" + collectionDivId + "').scrollLeft = findDiv('" + collectionTableId + "').scrollLeft;"); ! ! // register synchronization handler. ! elementLayer.onscroll = scrollX; ! } ! ! function addLoadEvent(func) { ! var oldonload = window.onload; ! if (typeof window.onload != 'function') { ! window.onload = func; ! } else { ! window.onload = function() { ! oldonload(); ! func(); ! } ! } ! } \ No newline at end of file Index: swap.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/swap.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** swap.js 12 Jun 2007 02:27:30 -0000 1.1 --- swap.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,93 **** ! /** ! * struts-layout item swapper javascript functions ! */ ! ! /** ! * Remove empty options from a select object. ! */ ! function BumpUp(box) { ! for(var i=0; i<box.options.length; i++) { ! box.options[i].selected = true; ! if(box.options[i].value == "") { ! for(var j=i; j<box.options.length-1; j++) { ! box.options[j].value = box.options[j+1].value; ! box.options[j].text = box.options[j+1].text; ! box.options[j].selected = true; ! } ! box.options.length -= 1; ! i--; ! } ! } ! } ! ! /** ! * When swapping lines between two tables, select and unselect the given tr. ! */ ! function prepareSwap(line, aClass) { ! if (line.selectedForSwap && line.selectedForSwap==true) { ! line.selectedForSwap = false; ! } else { ! line.selectedForSwap = true; ! } ! ! var oTD = line.getElementsByTagName("TD"); ! for (i=0;i<oTD.length;i++) { ! var className = oTD[i].className; ! var oldClassName = oTD[i].oldClassName ? oTD[i].oldClassName : aClass; ! ! oTD[i].className = oldClassName; ! oTD[i].oldClassName = className; ! } ! } ! ! /** ! * Move the selected rows from the sSelectFrom table to the sSelectTo table. ! */ ! function swap(sSelectFrom, from, sSelectTo, to) { ! var selectFrom = document.getElementById(sSelectFrom).getElementsByTagName("TBODY").item(0); ! var selectTo = document.getElementById(sSelectTo).getElementsByTagName("TBODY").item(0); ! var oTRsFrom = selectFrom.getElementsByTagName("TR"); ! var aSelectedTRs = new Array(); ! var h=0; ! ! // look for selected lines. ! for (var y=0;y<oTRsFrom.length;y++) { ! thisTR = oTRsFrom.item(y); ! if (thisTR.selectedForSwap && thisTR.selectedForSwap==true) { ! aSelectedTRs[h]=y; ! h++; ! } ! } ! ! // move selected lines. ! for (var y=aSelectedTRs.length-1;y>=0;y--) { ! thisTR = oTRsFrom.item(aSelectedTRs[y]); ! if (thisTR.selectedForSwap && thisTR.selectedForSwap==true) { ! // move the line. ! selectTo.insertBefore(thisTR,selectTo.getElementsByTagName("TR").item(1)); ! ! // move the option on the hidden selects. ! var nameAZ = aSelectedTRs[y]-1; ! var selectAZ = document.getElementById(from); ! ! var selectToAZ = document.getElementById(to); ! for (var zz=selectToAZ.options.length; zz>0; zz--) { ! selectToAZ.options[zz] = new Option(); ! selectToAZ.options[zz].value = selectToAZ.options[zz-1].value; ! selectToAZ.options[zz].text = selectToAZ.options[zz-1].text; ! selectToAZ.options[zz].selected = true; ! } ! selectToAZ.options[0] = new Option(); ! selectToAZ.options[0].value = selectAZ.options[nameAZ].value; ! selectToAZ.options[0].text = selectAZ.options[nameAZ].text; ! selectToAZ.options[0].selected = true; ! ! selectAZ.options[nameAZ].value = ""; ! selectAZ.options[nameAZ].text = ""; ! ! // deselect the line. ! prepareSwap(thisTR); ! } ! } ! BumpUp(document.getElementById(from)); } \ No newline at end of file --- 1,93 ---- ! /** ! * struts-layout item swapper javascript functions ! */ ! ! /** ! * Remove empty options from a select object. ! */ ! function BumpUp(box) { ! for(var i=0; i<box.options.length; i++) { ! box.options[i].selected = true; ! if(box.options[i].value == "") { ! for(var j=i; j<box.options.length-1; j++) { ! box.options[j].value = box.options[j+1].value; ! box.options[j].text = box.options[j+1].text; ! box.options[j].selected = true; ! } ! box.options.length -= 1; ! i--; ! } ! } ! } ! ! /** ! * When swapping lines between two tables, select and unselect the given tr. ! */ ! function prepareSwap(line, aClass) { ! if (line.selectedForSwap && line.selectedForSwap==true) { ! line.selectedForSwap = false; ! } else { ! line.selectedForSwap = true; ! } ! ! var oTD = line.getElementsByTagName("TD"); ! for (i=0;i<oTD.length;i++) { ! var className = oTD[i].className; ! var oldClassName = oTD[i].oldClassName ? oTD[i].oldClassName : aClass; ! ! oTD[i].className = oldClassName; ! oTD[i].oldClassName = className; ! } ! } ! ! /** ! * Move the selected rows from the sSelectFrom table to the sSelectTo table. ! */ ! function swap(sSelectFrom, from, sSelectTo, to) { ! var selectFrom = document.getElementById(sSelectFrom).getElementsByTagName("TBODY").item(0); ! var selectTo = document.getElementById(sSelectTo).getElementsByTagName("TBODY").item(0); ! var oTRsFrom = selectFrom.getElementsByTagName("TR"); ! var aSelectedTRs = new Array(); ! var h=0; ! ! // look for selected lines. ! for (var y=0;y<oTRsFrom.length;y++) { ! thisTR = oTRsFrom.item(y); ! if (thisTR.selectedForSwap && thisTR.selectedForSwap==true) { ! aSelectedTRs[h]=y; ! h++; ! } ! } ! ! // move selected lines. ! for (var y=aSelectedTRs.length-1;y>=0;y--) { ! thisTR = oTRsFrom.item(aSelectedTRs[y]); ! if (thisTR.selectedForSwap && thisTR.selectedForSwap==true) { ! // move the line. ! selectTo.insertBefore(thisTR,selectTo.getElementsByTagName("TR").item(1)); ! ! // move the option on the hidden selects. ! var nameAZ = aSelectedTRs[y]-1; ! var selectAZ = document.getElementById(from); ! ! var selectToAZ = document.getElementById(to); ! for (var zz=selectToAZ.options.length; zz>0; zz--) { ! selectToAZ.options[zz] = new Option(); ! selectToAZ.options[zz].value = selectToAZ.options[zz-1].value; ! selectToAZ.options[zz].text = selectToAZ.options[zz-1].text; ! selectToAZ.options[zz].selected = true; ! } ! selectToAZ.options[0] = new Option(); ! selectToAZ.options[0].value = selectAZ.options[nameAZ].value; ! selectToAZ.options[0].text = selectAZ.options[nameAZ].text; ! selectToAZ.options[0].selected = true; ! ! selectAZ.options[nameAZ].value = ""; ! selectAZ.options[nameAZ].text = ""; ! ! // deselect the line. ! prepareSwap(thisTR); ! } ! } ! BumpUp(document.getElementById(from)); } \ No newline at end of file Index: HM_ScriptNS4.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/HM_ScriptNS4.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HM_ScriptNS4.js 12 Jun 2007 02:27:30 -0000 1.1 --- HM_ScriptNS4.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,692 **** ! /*HM_ScriptNS4.js ! * by Peter Belesis. v4.0.7 010323 ! * Copyright (c) 2001 Peter Belesis. All Rights Reserved. ! * Originally published and documented at http://www.dhtmlab.com/ ! * You may use this code on a public Web site only if this entire ! * copyright notice appears unchanged and you publicly display ! * a link to http://www.dhtmlab.com/. ! * ! * Contact pet...@bt... for all other uses. ! */ [...1357 lines suppressed...] ! ! if (!this.isOn || !callingitem.hasMore || this.visibleChild != this.child) { ! this.visibleChild.showIt(false); ! this.hasChildVisible = false; ! } ! } ! ! function HM_f_PageClick() { ! if (!HM_UserOverMenu && HM_CurrentMenu!=null && !HM_CurrentMenu.isOn) HM_f_HideAll(); ! } ! ! popUp = HM_f_PopUp; ! popDown = HM_f_PopDown; ! ! HM_f_OtherOnLoad = (window.onload) ? window.onload : new Function; ! window.onload = HM_f_StartIt; ! ! //end \ No newline at end of file --- NEW FILE: popup.js --- function openStrutsLayoutPopup(styleId) { var divElement = document.getElementById(styleId); var size = getStrutsLayoutPopupWindowSize(); divElement.style.left = (size[0]/2 - divElement.clientWidth/2) + 'px'; divElement.style.top = (size[1]/2 - divElement.clientHeight/2) + 'px'; divElement.style.visibility = "visible"; // Lock controls. document.getElementById("slpdiv").style.display = "block"; document.getElementById("slpdiv").style.width = size[0]; document.getElementById("slpdiv").style.height = size[1]; document.getElementById("slpdiv").style.backgroundColor = "gray"; document.getElementById("slpdiv").style.opacity=0.3; document.getElementById("slpdiv").style.filter = "alpha(opacity=30)"; // Hide IE select. if (document.all) { var elements = document.all.tags("SELECT"); for (i = 0; i < elements.length;i++) { elements[i].statusVisibility = elements[i].style.visibility; if (!isLayoutPopupPart(elements[i], divElement)) { elements[i].style.visibility = "hidden"; } } } } function closeStrutsLayoutPopup(styleId) { var divElement = document.getElementById(styleId); // Unlock controls. document.getElementById("slpdiv").style.display = "none"; // Show IE select. if (document.all) { var elements = document.all.tags("SELECT"); for (i = 0; i < elements.length;i++) { elements[i].style.visibility = elements[i].statusVisibility; } } divElement.style.visibility = "hidden"; } function startStrutsLayoutPopupMove(titleElement, e) { if(!e) e=window.event; // Store the position diff. var divElement = titleElement; while (divElement.nodeName.toUpperCase()!="DIV") { divElement = divElement.parentNode; } divElement.ty = e.clientY -parseInt(divElement.style.top); divElement.tx = e.clientX -parseInt(divElement.style.left); // Update the cursoe. divElement.tw = divElement.style.cursor; titleElement.style.cursor = "move"; // Prepare for move divElement.tz = document.onmousemove; document.dd = divElement; document.onmousemove = moveStrutsLayoutPopup; } function moveStrutsLayoutPopup(e){ if(!e) e=window.event; // compute new position. var divElement = document.dd; if (divElement!=null) { doMoveLayoutPopup(divElement, e); } } function stopStrutsLayoutPopupMove(titleElement, e){ if(!e) e=window.event; // stop. var divElement = titleElement; while (divElement.nodeName.toUpperCase()!="DIV") { divElement = divElement.parentNode; } document.dd = null; document.onmousemove = divElement.tz; titleElement.style.cursor = divElement.tw; } function isLayoutPopupPart(childElement, mainElement) { if (childElement==null) { return false; } else if (childElement.parentNode == mainElement) { return true; } else { return isLayoutPopupPart(childElement.parentNode, mainElement); } } function doMoveLayoutPopup(divElement, e) { var top = e.clientY - divElement.ty; var left = e.clientX - divElement.tx; // set new position divElement.style.top=top + 'px'; divElement.style.left=left + 'px'; } function getStrutsLayoutPopupWindowSize() { var myWidth = 0, myHeight = 0; if( typeof( window.innerWidth ) == 'number' ) { //Non-IE myWidth = window.innerWidth; myHeight = window.innerHeight; } else if( document.documentElement && ( document.documentElement.clientWidth || document.documentElement.clientHeight ) ) { //IE 6+ in 'standards compliant mode' myWidth = document.documentElement.clientWidth; myHeight = document.documentElement.clientHeight; } else if( document.body && ( document.body.clientWidth || document.body.clientHeight ) ) { //IE 4 compatible myWidth = document.body.clientWidth; myHeight = document.body.clientHeight; } return [myWidth, myHeight]; } Index: suggest.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/suggest.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** suggest.js 12 Jun 2007 02:27:30 -0000 1.1 --- suggest.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,554 **** ! // *************************************************************** ! // ! // GLOBAL VARS ! // ! // *************************************************************** ! ! var KEY_BACKSPACE = 8; ! var KEY_DELETE = 46; ! var KEY_DOWN = 40; ! var KEY_UP = 38; [...1077 lines suppressed...] ! var currentSelection = suggestions.item(selectedItem); ! currentSelection.className="suggestionList_element_off"; ! } ! ! setSelectedSuggestionIndex(textFieldId, suggestionIndex); ! ! var newSelection = suggestions.item(suggestionIndex); ! newSelection.className="suggestionList_element_on"; ! } ! ! function hideCursor(textFieldId, suggestionIndex) ! { ! var suggestionList = document.getElementById( textFieldId + "SuggestionList" ); ! var suggestions = suggestionList.getElementsByTagName("div"); ! ! var newSelection = suggestions.item(suggestionIndex); ! newSelection.className="suggestionList_element_off"; ! } \ No newline at end of file Index: tree.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/tree.js,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tree.js 17 Jun 2008 21:24:56 -0000 1.3 --- tree.js 1 Dec 2010 11:10:49 -0000 1.4 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ *************** *** 83,86 **** --- 83,92 ---- if (target==null || target=='') target='__idContentFrame'; if (target=='__idContentFrame') onClick='onClick=" if (!event.ctrlKey) displayLoading();"'; + /* + if (page.indexOf('?') >= 0) + page += '&gwt.codesvr=127.0.0.1:9997'; + else + page += '?gwt.codesvr=127.0.0.1:9997'; + */ document.write(' <A ' + onClick + ' target="' + target + '" href="'+page+'" title="'+title+'" >'+name+'</A>'); } Index: datepatt.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/datepatt.js,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** datepatt.js 27 Jul 2009 14:28:57 -0000 1.6 --- datepatt.js 1 Dec 2010 11:10:49 -0000 1.7 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ Index: HM_ScriptIE4.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/HM_ScriptIE4.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** HM_ScriptIE4.js 12 Jun 2007 02:27:30 -0000 1.1 --- HM_ScriptIE4.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,732 **** ! /*HM_ScriptIE4.js ! * by Peter Belesis. v4.0.7 010323 ! * Copyright (c) 2001 Peter Belesis. All Rights Reserved. ! * Originally published and documented at http://www.dhtmlab.com/ ! * You may use this code on a public Web site only if this entire ! * copyright notice appears unchanged and you publicly display ! * a link to http://www.dhtmlab.com/. ! * ! * Contact pet...@bt... for all other uses. ! */ [...1437 lines suppressed...] ! if (!this.isOn || !callingitem.hasMore || this.visibleChild != this.child) { ! this.visibleChild.showIt(false); ! this.hasChildVisible = false; ! } ! } ! ! function HM_f_CancelSelect(){return false} ! ! function HM_f_PageClick() { ! if (!HM_UserOverMenu && HM_CurrentMenu!=null && !HM_CurrentMenu.isOn) HM_f_HideAll(); ! } ! ! popUp = HM_f_PopUp; ! popDown = HM_f_PopDown; ! ! HM_f_OtherOnLoad = (window.onload) ? window.onload : new Function; ! window.onload = function(){setTimeout("HM_f_StartIt()",10)}; ! //end \ No newline at end of file Index: datagrid.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/datagrid.js,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** datagrid.js 12 Jun 2007 02:27:30 -0000 1.1 --- datagrid.js 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,252 **** ! /* ! * This functions allow the user to interact with a datagrid object. ! */ ! ! // Global object holding the data for the different grids. ! var strutsLayoutDatagridData = new Object(); ! ! StrutsLayout = new Object(); ! ! // definition of a column ! StrutsLayout.Column = function (in_property, in_styleClass, in_type, in_values) { ! this.property = in_property; ! this.styleClass = in_styleClass; ! this.type = in_type; ! this.values = in_values; ! } ! ! // definition of an option ! StrutsLayout.Option = function (in_label, in_value) { ! this.label = in_label; ! this.value = in_value; ! } ! ! // definition of the Struts-Layout datagrid js object. ! StrutsLayout.Datagrid = function Datagrid(in_property, in_styleId, in_styleClass, in_styleClass2, in_allowSelection, in_allowMultipleSelection) { ! // form property holding the data. ! this.property = in_property; ! ! // id of the table element. ! this.styleId = in_styleId; ! ! // definition of the columns of the table ! this.columns = new Array(); ! ! // definition of the styleClass of the rows. ! this.styleClass = in_styleClass; ! this.styleClass2 = in_styleClass2; ! this.rowStyleClassMap = new Object(); ! ! // allow selection ! this.allowSelection = in_allowSelection; ! this.allowMultipleSelection = in_allowMultipleSelection; ! ! // add a column ! StrutsLayout.Datagrid.prototype.addColumn = function addColumn(in_property, in_styleClass, in_type, in_values) { ! this.columns[this.columns.length] = new StrutsLayout.Column(in_property, in_styleClass, in_type, in_values); ! } ! ! // add a styleClass ! StrutsLayout.Datagrid.prototype.addStyleClass = function addStyleClass(in_styleName, in_styleClass) { ! this.rowStyleClassMap[in_styleName] = in_styleClass; ! } ! ! // set the state ! StrutsLayout.Datagrid.prototype.initState = function initState(in_index, in_state) { ! var table = document.getElementById(this.styleId); ! var row = table.rows[in_index+1]; // row 0 is header. ! ! if (in_state!=null && in_state!="") { ! row.className = this.rowStyleClassMap[in_state]; ! } ! var hidden = this.createStateElement(in_index, in_state); ! table.parentNode.appendChild(hidden); ! ! } ! ! this.getDatagridRowStateField = getDatagridRowStateField; ! this.addDatagridCell = addDatagridCell; ! this.getDatagridLinesWithState = getDatagridLinesWithState; ! this.createStateElement = createStateElement; ! this.unselectRows = unselectRows; ! this.selectDatagridLine = selectDatagridLine; ! ! // return the hidden field holding the state of the specified line. ! function getDatagridRowStateField(rowIndex) { ! var element = document.forms[0].elements[this.property + ".dataState[" + (rowIndex-1) + "]"]; ! if (element==null) { ! // IE bug ! element = document.getElementById(this.property + ".dataState[" + (rowIndex-1) + "]"); ! } ! return element; ! } ! ! // select a datagrid line ! function selectDatagridLine(row) { ! var table; ! var index; ! ! if (row.parentNode) { ! // Get the parent table. ! table = row.parentNode.parentNode; ! ! // Get the row index. ! for (index = 0; index < table.rows.length; index++) { ! if (row==table.rows[index]) { ! break; ! } ! } ! } else { ! index = parseInt(row) - 1; ! table = document.getElementById(this.styleId); ! row = table.rows[index]; ! } ! ! // Get the row status. ! var hidden = this.getDatagridRowStateField(index); ! ! var status = hidden.value; ! if (status=="selected") { ! status = ""; ! } else { ! status = "selected"; ! } ! ! // Set the new row status. ! hidden.value = status; ! if (status=="") { ! if (index % 2) { ! row.className = this.styleClass; ! } else { ! row.className = this.styleClass2; ! } ! } else { ! row.className = this.rowStyleClassMap["selected"]; ! } ! ! // If single selection is used, unselect all other rows. ! if (!this.allowMultipleSelection) { ! this.unselectRows(table, index); ! } ! } ! ! // unselect all rows other than the one specified. ! function unselectRows(table, index) { ! var i; ! var rows; ! var hidden; ! for (i = 1; i < table.rows.length; i++) { ! if (i!=index) { ! hidden = this.getDatagridRowStateField(i); ! if (hidden.value=="selected") { ! row = table.rows[i]; ! if (i % 2) { ! row.className = this.styleClass; ! } else { ! row.className = this.styleClass2; ! } ! hidden.value = ""; ! } ! } ! } ! } ! ! function createStateElement(index, value) { ! var hidden = document.createElement("INPUT"); ! hidden.setAttribute('type', 'hidden'); ! hidden.setAttribute('name', this.property + ".dataState[" + (index) + "]"); ! hidden.setAttribute('value', value); ! hidden.id = this.property + ".dataState[" + (index) + "]"; // ie bug :( ! return hidden; ! } ! ! function addDatagridCell(row, index, property, styleClass, type, values) { ! var newCell = row.insertCell(row.cells.length); ! newCell.className = styleClass; ! var inputElementName = type=="select"? "SELECT" : "INPUT"; ! var input = document.createElement(inputElementName); ! if (type!="select") { ! input.setAttribute('type', type==null ? "text" : type); ! } ! input.setAttribute('name', property + "[" + index + "]"); ! if (type=="checkbox") { ! input.setAttribute('value', "true"); ! } else if (type=="select") { ! for (i=0;i<values.length; i++) { ! var option = document.createElement("OPTION"); ! option.setAttribute("value", values[i].value); ! option.innerHTML = values[i].label; ! input.appendChild(option); ! } ! } else { ! input.setAttribute('value', ""); ! } ! newCell.appendChild(input); ! return newCell; ! } ! ! // return the lines having the specified state. ! function getDatagridLinesWithState(state) { ! var i = 0; ! var hidden = document.forms[0].elements[this.property + ".dataState[" + i + "]"]; ! var array = new Array(); ! while (hidden!=null) { ! if (hidden.value==state) { ! array[i] = true; ! } ! i++; ! hidden = document.forms[0].elements[this.property + ".dataState[" + i + "]"]; ! } ! return array; ! } ! } ! ! // add a line, PUBLIC ! StrutsLayout.addDatagridLine = function(property) { ! // Get the datagrid. ! var datagrid = strutsLayoutDatagridData[property]; ! ! // Get the table object. ! var table = document.getElementById(datagrid.styleId); ! ! // Create a new line. ! var newRow = table.insertRow(table.rows.length); ! var odd = table.rows.length % 2; ! newRow.className = !odd ? datagrid.styleClass : datagrid.styleClass2; ! if (datagrid.allowSelection) { ! newRow.onclick = new Function("strutsLayoutDatagridData['" + property + "'].selectDatagridLine(" + table.rows.length + ");"); ! newRow.style.cursor = "pointer;hand;"; ! } ! var newCell; ! for (i in datagrid.columns) { ! var column = datagrid.columns[i]; ! var cellStyle = column.styleClass; ! var type = column.type; ! var values = column.values; ! newCell = datagrid.addDatagridCell(newRow, table.rows.length-2, property + "." + column.property, cellStyle, type, values); ! } ! ! var hidden = datagrid.createStateElement(table.rows.length-2, ""); ! table.parentNode.appendChild(hidden); ! } ! ! // set the state of the selected lines. ! StrutsLayout.setDatagridLineState = function(property, state) { ! // Get the datagrid. ! var datagrid = strutsLayoutDatagridData[property]; ! ! // Get the table object. ! var table = document.getElementById(datagrid.styleId); ! ! // Get the selected items. ! var selectedLines = datagrid.getDatagridLinesWithState("selected"); ! ! for (i in selectedLines) { ! // Set the state of the line to "removed". ! document.forms[0].elements[property + ".dataState[" + i + "]"].value = state; ! ! // Hide the line ! table.rows[parseInt(i)+1].className = datagrid.rowStyleClassMap[state]; ! } ! } \ No newline at end of file --- 1,265 ---- ! /* ! * This functions allow the user to interact with a datagrid object. ! */ ! ! // Global object holding the data for the different grids. ! var strutsLayoutDatagridData = new Object(); ! ! StrutsLayout = new Object(); ! ! // definition of a column ! StrutsLayout.Column = function (in_property, in_styleClass, in_type, in_values) { ! this.property = in_property; ! this.styleClass = in_styleClass; ! this.type = in_type; ! this.values = in_values; ! } ! ! // definition of an option ! StrutsLayout.Option = function (in_label, in_value) { ! this.label = in_label; ! this.value = in_value; ! } ! ! // definition of the Struts-Layout datagrid js object. ! StrutsLayout.Datagrid = function Datagrid(in_property, in_styleId, in_styleClass, in_styleClass2, in_allowSelection, in_allowMultipleSelection) { ! // form property holding the data. ! this.property = in_property; ! ! // id of the table element. ! this.styleId = in_styleId; ! ! // definition of the columns of the table ! this.columns = new Array(); ! ! // definition of the styleClass of the rows. ! this.styleClass = in_styleClass; ! this.styleClass2 = in_styleClass2; ! this.rowStyleClassMap = new Object(); ! ! // allow selection ! this.allowSelection = in_allowSelection; ! this.allowMultipleSelection = in_allowMultipleSelection; ! ! // add a column ! StrutsLayout.Datagrid.prototype.addColumn = function addColumn(in_property, in_styleClass, in_type, in_values) { ! this.columns[this.columns.length] = new StrutsLayout.Column(in_property, in_styleClass, in_type, in_values); ! } ! ! // add a styleClass ! StrutsLayout.Datagrid.prototype.addStyleClass = function addStyleClass(in_styleName, in_styleClass) { ! this.rowStyleClassMap[in_styleName] = in_styleClass; ! } ! ! // set the state ! StrutsLayout.Datagrid.prototype.initState = function initState(in_index, in_state) { ! var table = document.getElementById(this.styleId); ! var row = table.rows[in_index+1]; // row 0 is header. ! ! if (in_state!=null && in_state!="") { ! row.className = this.rowStyleClassMap[in_state]; ! } ! var hidden = this.createStateElement(in_index, in_state); ! table.parentNode.appendChild(hidden); ! ! } ! ! this.getDatagridRowStateField = getDatagridRowStateField; ! this.addDatagridCell = addDatagridCell; ! this.getDatagridLinesWithState = getDatagridLinesWithState; ! this.createStateElement = createStateElement; ! this.unselectRows = unselectRows; ! this.selectDatagridLine = selectDatagridLine; ! ! // return the hidden field holding the state of the specified line. ! function getDatagridRowStateField(rowIndex) { ! var element = document.forms[0].elements[this.property + ".dataState[" + (rowIndex-1) + "]"]; ! if (element==null) { ! // IE bug ! element = document.getElementById(this.property + ".dataState[" + (rowIndex-1) + "]"); ! } ! return element; ! } ! ! // select a datagrid line ! function selectDatagridLine(row) { ! var table; ! var index; ! ! if (row.parentNode) { ! // Get the parent table. ! table = row.parentNode.parentNode; ! ! // Get the row index. ! for (index = 0; index < table.rows.length; index++) { ! if (row==table.rows[index]) { ! break; ! } ! } ! } else { ! index = parseInt(row) - 1; ! table = document.getElementById(this.styleId); ! row = table.rows[index]; ! } ! ! // Get the row status. ! var hidden = this.getDatagridRowStateField(index); ! ! var status = hidden.value; ! if (status=="selected") { ! status = ""; ! } else { ! status = "selected"; ! } ! ! // Set the new row status. ! hidden.value = status; ! if (status=="") { ! if (index % 2) { ! row.className = this.styleClass; ! } else { ! row.className = this.styleClass2; ! } ! } else { ! row.className = this.rowStyleClassMap["selected"]; ! } ! ! // If single selection is used, unselect all other rows. ! if (!this.allowMultipleSelection) { ! this.unselectRows(table, index); ! } ! } ! ! // unselect all rows other than the one specified. ! function unselectRows(table, index) { ! var i; ! var rows; ! var hidden; ! for (i = 1; i < table.rows.length; i++) { ! if (i!=index) { ! hidden = this.getDatagridRowStateField(i); ! if (hidden.value=="selected") { ! row = table.rows[i]; ! if (i % 2) { ! row.className = this.styleClass; ! } else { ! row.className = this.styleClass2; ! } ! hidden.value = ""; ! } ! } ! } ! } ! ! function createStateElement(index, value) { ! var hidden = document.createElement("INPUT"); ! hidden.setAttribute('type', 'hidden'); ! hidden.setAttribute('name', this.property + ".dataState[" + (index) + "]"); ! hidden.setAttribute('value', value); ! hidden.id = this.property + ".dataState[" + (index) + "]"; // ie bug :( ! return hidden; ! } ! ! function addDatagridCell(row, index, property, styleClass, type, values) { ! var newCell = row.insertCell(row.cells.length); ! newCell.className = styleClass; ! ! if (type=="empty") { ! if (values!=null && values!="") { ! eval(values + "(newCell,index)"); ! } ! } else { ! var inputElementName = type=="select"? "SELECT" : "INPUT"; ! var input = document.createElement(inputElementName); ! if (type!="select") { ! input.setAttribute('type', type==null ? "text" : type); ! } ! input.setAttribute('name', property + "[" + index + "]"); ! if (type=="checkbox") { ! input.setAttribute('value', "true"); ! } else if (type=="select") { ! for (i=0;i<values.length; i++) { ! var option = document.createElement("OPTION"); ! option.setAttribute("value", values[i].value); ! option.innerHTML = values[i].label; ! input.appendChild(option); ! } ! } else { ! input.setAttribute('value', ""); ! } ! newCell.appendChild(input); ! } ! return newCell; ! } ! ! // return the lines having the specified state. ! function getDatagridLinesWithState(state) { ! var i = 0; ! var hidden = document.forms[0].elements[this.property + ".dataState[" + i + "]"]; ! var array = new Array(); ! while (hidden!=null) { ! if (hidden.value==state) { ! array[i] = true; ! } ! i++; ! hidden = document.forms[0].elements[this.property + ".dataState[" + i + "]"]; ! } ! return array; ! } ! } ! ! // add a line, PUBLIC ! StrutsLayout.addDatagridLine = function(property) { ! // Get the datagrid. ! var datagrid = strutsLayoutDatagridData[property]; ! ! // Get the table object. ! var table = document.getElementById(datagrid.styleId); ! ! // Create a new line. ! var newRow = table.insertRow(table.rows.length); ! var odd = table.rows.length % 2; ! newRow.className = !odd ? datagrid.styleClass : datagrid.styleClass2; ! if (datagrid.allowSelection) { ! newRow.onclick = new Function("strutsLayoutDatagridData['" + property + "'].selectDatagridLine(" + table.rows.length + ");"); ! if (document.all) { ! // Does not work on Gecko ! newRow.style.cursor = "hand"; ! } else { ! // Break on IE5.x ! newRow.style.cursor = "pointer"; ! } ! } ! var newCell; ! for (i in datagrid.columns) { ! var column = datagrid.columns[i]; ! var cellStyle = column.styleClass; ! var type = column.type; ! var values = column.values; ! newCell = datagrid.addDatagridCell(newRow, table.rows.length-2, property + "." + column.property, cellStyle, type, values); ! } ! ! var hidden = datagrid.createStateElement(table.rows.length-2, ""); ! table.parentNode.appendChild(hidden); ! } ! ! // set the state of the selected lines. ! StrutsLayout.setDatagridLineState = function(property, state) { ! // Get the datagrid. ! var datagrid = strutsLayoutDatagridData[property]; ! ! // Get the table object. ! var table = document.getElementById(datagrid.styleId); ! ! // Get the selected items. ! var selectedLines = datagrid.getDatagridLinesWithState("selected"); ! ! for (i in selectedLines) { ! // Set the state of the line to "removed". ! document.forms[0].elements[property + ".dataState[" + i + "]"].value = state; ! ! // Hide the line ! table.rows[parseInt(i)+1].className = datagrid.rowStyleClassMap[state]; ! } ! } \ No newline at end of file Index: select.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/select.js,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** select.js 4 Mar 2009 18:00:11 -0000 1.4 --- select.js 1 Dec 2010 11:10:49 -0000 1.5 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ Index: rtt.js =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/scripts/rtt.js,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** rtt.js 17 Jun 2008 21:24:56 -0000 1.3 --- rtt.js 1 Dec 2010 11:10:49 -0000 1.4 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,48 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ ! function tpGenVariables(tpName, nrTimes, nrDays, pref, prefTable, prefColors, selections, defPreference, prefCheck, prefNames) { ! document.writeln("<INPUT id='"+tpName+"_reqSelect' type='hidden' value='"+defPreference+"' name='"+tpName+"_reqSelect'>"); ! document.writeln("<INPUT id='"+tpName+"_nrTimes' type='hidden' value='"+nrTimes+"' name='"+tpName+"_nrTimes'>"); ! document.writeln("<INPUT id='"+tpName+"_nrDays' type='hidden' value='"+nrDays+"' name='"+tpName+"_nrDays'>"); ! document.writeln("<INPUT id='"+tpName+"_nrSelections' type='hidden' value='"+(selections==null?1:selections.length)+"' name='"+tpName+"_nrSelections'>"); ! var reqUsed=0; ! for (var t=0;t<nrTimes;t++) ! for (var d=0;d<nrDays;d++) { ! document.writeln("<INPUT id='"+tpName+"_req_"+d+"_"+t+"' name='"+tpName+"_req_"+d+"_"+t+"' type='hidden' value='"+pref[d][t]+"'>"); ! if (pref[d][t]=='R') reqUsed=1; ! } ! document.writeln("<INPUT id='"+tpName+"_reqUsed' type='hidden' value='"+reqUsed+"' name='"+tpName+"_reqUsed'>"); ! document.writeln("<script language='javascript'>"); ! document.writeln("function fn_"+tpName+"_pref2color(pref) {"); ! for (var i=0;i<prefTable.length;i++) ! document.writeln("if (pref=='"+prefTable[i]+"') return '"+prefColors[i]+"';"); ! document.writeln("return 'rgb(240,240,240)';"); ! document.writeln("}"); ! document.writeln("function fn_"+tpName+"_pref2name(pref) {"); ! for (var i=0;i<prefTable.length;i++) ! document.writeln("if (pref=='"+prefTable[i]+"') return '"+prefNames[i]+"';"); ! document.writeln("return 'rgb(240,240,240)';"); ! document.writeln("}"); ! document.writeln("function fn_"+tpName+"_prefCheck(pref) {"); ! if (prefCheck!=null) document.writeln(prefCheck); ! document.writeln("}"); ! document.writeln("</script>"); } function tpGetBorder(tpName, time, day, highlight, selected) { --- 14,75 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ ! var tpOutput; ! var tpDefPreference; ! var tpNrTimes; ! var tpNrDays; ! var tpPrefTable; ! var tpPrefColors; ! var tpPrefNames; ! var tpPref; ! ! function tpGenVariables(tpName, nrTimes, nrDays, pref, prefTable, prefColors, selections, defPreference, prefCheck, prefNames, editable) { ! var ed = false; ! if (editable) { ! for (var d=0;d<nrDays;d++) ! for (var t=0;t<nrTimes;t++) ! if (editable[d][t]) { ed = true; break; } ! } else { ! ed = true; ! } ! if (ed) { ! document.writeln("<INPUT id='"+tpName+"_reqSelect' type='hidden' value='"+defPreference+"' name='"+tpName+"_reqSelect'>"); ! document.writeln("<INPUT id='"+tpName+"_nrTimes' type='hidden' value='"+nrTimes+"' name='"+tpName+"_nrTimes'>"); ! document.writeln("<INPUT id='"+tpName+"_nrDays' type='hidden' value='"+nrDays+"' name='"+tpName+"_nrDays'>"); ! document.writeln("<INPUT id='"+tpName+"_nrSelections' type='hidden' value='"+(selections==null?1:selections.length)+"' name='"+tpName+"_nrSelections'>"); ! var reqUsed=0; ! for (var t=0;t<nrTimes;t++) ! for (var d=0;d<nrDays;d++) { ! document.writeln("<INPUT id='"+tpName+"_req_"+d+"_"+t+"' name='"+tpName+"_req_"+d+"_"+t+"' type='hidden' value='"+pref[d][t]+"'>"); ! if (pref[d][t]=='R') reqUsed=1; ! } ! document.writeln("<INPUT id='"+tpName+"_reqUsed' type='hidden' value='"+reqUsed+"' name='"+tpName+"_reqUsed'>"); ! document.writeln("<script language='javascript'>"); ! document.writeln("function fn_"+tpName+"_pref2color(pref) {"); ! for (var i=0;i<prefTable.length;i++) ! document.writeln("if (pref=='"+prefTable[i]+"') return '"+prefColors[i]+"';"); ! document.writeln("return 'rgb(240,240,240)';"); ! document.writeln("}"); ! document.writeln("function fn_"+tpName+"_pref2name(pref) {"); ! for (var i=0;i<prefTable.length;i++) ! document.writeln("if (pref=='"+prefTable[i]+"') return '"+prefNames[i]+"';"); ! document.writeln("return 'rgb(240,240,240)';"); ! document.writeln("}"); ! document.writeln("function fn_"+tpName+"_prefCheck(pref) {"); ! if (prefCheck!=null) document.writeln(prefCheck); ! document.writeln("}"); ! document.writeln("</script>"); ! } else { ! tpDefPreference = defPreference; ! tpNrTimes = nrTimes; ! tpNrDays = nrDays; ! tpPrefTable = prefTable; ! tpPrefNames = prefNames; ! tpPrefColors = prefColors; ! tpPref = pref; ! } } function tpGetBorder(tpName, time, day, highlight, selected) { *************** *** 78,85 **** } function tpGetNrDays(tpName) { ! return document.getElementById(tpName+"_nrDays").value; } function tpGetNrTimes(tpName) { ! return document.getElementById(tpName+"_nrTimes").value; } function tpGetNrSelections(tpName) { --- 105,120 ---- } function tpGetNrDays(tpName) { ! try { ! return document.getElementById(tpName+"_nrDays").value; ! } catch (e) { ! return tpNrDays; ! } } function tpGetNrTimes(tpName) { ! try { ! return document.getElementById(tpName+"_nrTimes").value; ! } catch (e) { ! return tpNrTimes; ! } } function tpGetNrSelections(tpName) { *************** *** 90,94 **** } function tpGetPreference(tpName, time, day) { ! return document.getElementById(tpName+"_req_"+day+"_"+time).value; } function tpSetPreferenceNoCheck(tpName, time, day, pref) { --- 125,133 ---- } function tpGetPreference(tpName, time, day) { ! try { ! return document.getElementById(tpName+"_req_"+day+"_"+time).value; ! } catch (e) { ! return tpPref[day][time]; ! } } function tpSetPreferenceNoCheck(tpName, time, day, pref) { *************** *** 125,132 **** } function tpPref2Color(tpName, pref) { ! return eval("fn_"+tpName+"_pref2color('"+pref+"');"); } function tpPref2Name(tpName, pref) { ! return eval("fn_"+tpName+"_pref2name('"+pref+"');"); } function tpTimeDaySelected(tpName, time, day) { --- 164,181 ---- } function tpPref2Color(tpName, pref) { ! try { ! return eval("fn_"+tpName+"_pref2color('"+pref+"');"); ! } catch (e) { ! for (var i=0;i<tpPrefTable.length;i++) ! if (pref==tpPrefTable[i]) return tpPrefColors[i]; ! } } function tpPref2Name(tpName, pref) { ! try { ! return eval("fn_"+tpName+"_pref2name('"+pref+"');"); ! } catch (e) { ! for (var i=0;i<tpPrefTable.length;i++) ! if (pref==tpPrefTable[i]) return tpPrefNames[i]; ! } } function tpTimeDaySelected(tpName, time, day) { *************** *** 141,145 **** onclick += "tpSetPreference('"+tpName+"', "+time+", "+d+",tpGetCurrentPreference('"+tpName+"'));"; } ! document.writeln("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ --- 190,194 ---- onclick += "tpSetPreference('"+tpName+"', "+time+", "+d+",tpGetCurrentPreference('"+tpName+"'));"; } ! tpOutput += ("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ *************** *** 149,153 **** "</th>"); } else { ! document.writeln("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "<font size=1>"+startTime+"<br><font color=gray>"+endTime+"</font></font>"+ --- 198,202 ---- "</th>"); } else { ! tpOutput += ("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "<font size=1>"+startTime+"<br><font color=gray>"+endTime+"</font></font>"+ *************** *** 157,161 **** function tpGenTimeHeadersHorizontal(tpName, editable, startTimes, endTimes, minTime, maxTime, minDay, maxDay) { ! document.writeln("<TR>"); if (tpIsBlockEditable(tpName,editable,minTime,maxTime,minDay,maxDay)) { var onclick = ""; --- 206,210 ---- function tpGenTimeHeadersHorizontal(tpName, editable, startTimes, endTimes, minTime, maxTime, minDay, maxDay) { ! tpOutput += ("<TR>"); if (tpIsBlockEditable(tpName,editable,minTime,maxTime,minDay,maxDay)) { var onclick = ""; *************** *** 166,170 **** } } ! document.writeln("<TH "+ "style=\"border:white 1px solid;\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ --- 215,219 ---- } } ! tpOutput += ("<TH "+ "style=\"border:white 1px solid;\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ *************** *** 173,182 **** "align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } else { ! document.writeln("<TH align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } for (var t=minTime;t<=maxTime;t++) { tpGenTimeHeader(tpName,editable,t,startTimes[t],endTimes[t], minDay, maxDay); } ! document.writeln("</TR>"); } --- 222,231 ---- "align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } else { ! tpOutput += ("<TH align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } for (var t=minTime;t<=maxTime;t++) { tpGenTimeHeader(tpName,editable,t,startTimes[t],endTimes[t], minDay, maxDay); } ! tpOutput += ("</TR>"); } *************** *** 188,192 **** onclick += "tpSetPreference('"+tpName+"', "+t+", "+day+",tpGetCurrentPreference('"+tpName+"'));"; } ! document.writeln("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ --- 237,241 ---- onclick += "tpSetPreference('"+tpName+"', "+t+", "+day+",tpGetCurrentPreference('"+tpName+"'));"; } ! tpOutput += ("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ *************** *** 196,200 **** "</th>"); } else { ! document.writeln("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "<font size=1>"+text+"</font>"+ --- 245,249 ---- "</th>"); } else { ! tpOutput += ("<th width='30' height='20' "+ "style=\"border:rgb(100,100,100) 1px solid;background-color:rgb(240,240,240);\" "+ "<font size=1>"+text+"</font>"+ *************** *** 204,208 **** function tpGenDayHeadersHorizontal(tpName, editable, days, minTime, maxTime, minDay, maxDay) { ! document.writeln("<TR>"); if (tpIsBlockEditable(tpName,editable,minTime,maxTime,minDay,maxDay)) { var onclick = ""; --- 253,257 ---- function tpGenDayHeadersHorizontal(tpName, editable, days, minTime, maxTime, minDay, maxDay) { ! tpOutput += ("<TR>"); if (tpIsBlockEditable(tpName,editable,minTime,maxTime,minDay,maxDay)) { var onclick = ""; *************** *** 213,217 **** } } ! document.writeln("<TH "+ "style=\"border:white 1px solid;\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ --- 262,266 ---- } } ! tpOutput += ("<TH "+ "style=\"border:white 1px solid;\" "+ "onmouseover=\"this.style.border='rgb(0,0,242) 1px solid';this.style.cursor='pointer';\" "+ *************** *** 220,229 **** "align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } else { ! document.writeln("<TH align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } for (var d=minDay;d<=maxDay;d++) { tpGenDayHeader(tpName,editable,d,days[d], minTime, maxTime); } ! document.writeln("</TR>"); } --- 269,278 ---- "align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } else { ! tpOutput += ("<TH align=right>from:<BR><FONT color=gray>to:</FONT></TH>"); } for (var d=minDay;d<=maxDay;d++) { tpGenDayHeader(tpName,editable,d,days[d], minTime, maxTime); } ! tpOutput += ("</TR>"); } *************** *** 232,236 **** borderSelected = tpGetBorder(tpName, time, day, highlight, true); if (tpIsFieldEditable(tpName, editable, time, day)) { ! document.writeln("<td width='30' height='20' id='"+tpName+"_"+day+"_"+time+"_"+sel+"' "+ "style=\"border:"+border+";background-color:"+tpPref2Color(tpName, tpGetPreference(tpName, time,day))+";\" ... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons/web Modified Files: WebOutputStream.java WebTable.java Web.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: Web.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web/Web.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Web.java 17 Jun 2008 21:25:02 -0000 1.2 --- Web.java 1 Dec 2010 11:10:52 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.web; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.web; Index: WebTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web/WebTable.java,v retrieving revision 1.9 retrieving revision 1.10 diff -C2 -d -r1.9 -r1.10 *** WebTable.java 6 Mar 2010 14:34:26 -0000 1.9 --- WebTable.java 1 Dec 2010 11:10:52 -0000 1.10 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.web; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.web; *************** *** 22,26 **** ! import java.util.*; import net.sf.cpsolver.ifs.util.CSVFile; --- 22,30 ---- ! import java.util.Collections; ! import java.util.Comparator; ! import java.util.Enumeration; ! import java.util.Hashtable; ! import java.util.Vector; import net.sf.cpsolver.ifs.util.CSVFile; *************** *** 280,291 **** ? iHeaders[i] : "<A title=\"Order by this column.\" href=\"" ! + iRef + "\" class=\"sortHeader\">" + iHeaders[i] + "</A>" ! + (i == Math.abs(ordCol) - 1 ! ? "<div class='WebTableOrderArrow'><img src='" ! + (asc ! ? IMG_ASC ! : IMG_DEC) ! + "' border='0'></div>" ! : "")), "%%", String.valueOf(i == Math.abs(ordCol) - 1 --- 284,299 ---- ? iHeaders[i] : "<A title=\"Order by this column.\" href=\"" ! + iRef + "\" class=\"sortHeader\">" ! + (i == Math.abs(ordCol) - 1 ? (asc ? "↑" : "↓") : "") ! /* ! ? "<img class='WebTableOrderArrow' src='" ! + (asc ! ? IMG_ASC ! : IMG_DEC) ! + "' border='0'>" ! : "") */ ! + iHeaders[i] ! + "</A>" ! ), "%%", String.valueOf(i == Math.abs(ordCol) - 1 Index: WebOutputStream.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web/WebOutputStream.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** WebOutputStream.java 17 Jun 2008 21:25:02 -0000 1.2 --- WebOutputStream.java 1 Dec 2010 11:10:52 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.web; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.web; |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/model/comparators Modified Files: IndividualReservationComparator.java DepartmentComparator.java SchedulingSubpartComparator.java RoomTypeComparator.java RolesComparator.java DivSecAssignmentComparator.java PosReservationComparator.java InstructorComparator.java ClassInstructorComparator.java DistributionObjectsComparator.java ClassComparator.java AcadAreaReservationComparator.java CourseOfferingComparator.java SicComparator.java StaffComparator.java DepartmentNameComparator.java StudentGroupReservationComparator.java InstrOfferingConfigComparator.java NavigationComparator.java DepartmentalInstructorComparator.java CourseReservationComparator.java InstructionalOfferingComparator.java Removed Files: ExamObjectsComparator.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: DepartmentComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/DepartmentComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DepartmentComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- DepartmentComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: AcadAreaReservationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/AcadAreaReservationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AcadAreaReservationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- AcadAreaReservationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: SicComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/SicComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SicComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- SicComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: StaffComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/StaffComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StaffComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- StaffComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: CourseOfferingComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/CourseOfferingComparator.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** CourseOfferingComparator.java 10 Jun 2009 16:18:12 -0000 1.5 --- CourseOfferingComparator.java 1 Dec 2010 11:10:50 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: DepartmentNameComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/DepartmentNameComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DepartmentNameComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- DepartmentNameComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: RolesComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/RolesComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RolesComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- RolesComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: DistributionObjectsComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/DistributionObjectsComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DistributionObjectsComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- DistributionObjectsComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: DivSecAssignmentComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/DivSecAssignmentComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DivSecAssignmentComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- DivSecAssignmentComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; *************** *** 135,139 **** public int compareTimeLocations(Class_ c1, Class_ c2, TimeLocation t1, TimeLocation t2) { ! int cmp = Double.compare(t1.getStartSlots().nextInt(), t2.getStartSlots().nextInt()); if (cmp!=0) return cmp; cmp = Double.compare(t1.getDayCode(), t2.getDayCode()); --- 135,139 ---- public int compareTimeLocations(Class_ c1, Class_ c2, TimeLocation t1, TimeLocation t2) { ! int cmp = t1.getStartSlots().nextElement().compareTo(t2.getStartSlots().nextElement()); if (cmp!=0) return cmp; cmp = Double.compare(t1.getDayCode(), t2.getDayCode()); Index: InstructionalOfferingComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/InstructionalOfferingComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstructionalOfferingComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- InstructionalOfferingComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: PosReservationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/PosReservationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PosReservationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- PosReservationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: StudentGroupReservationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/StudentGroupReservationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StudentGroupReservationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- StudentGroupReservationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: InstrOfferingConfigComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/InstrOfferingConfigComparator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** InstrOfferingConfigComparator.java 17 Jun 2008 21:24:50 -0000 1.3 --- InstrOfferingConfigComparator.java 1 Dec 2010 11:10:50 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: NavigationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/NavigationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** NavigationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- NavigationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; *************** *** 40,44 **** public int compare(Object o1, Object o2) { if (o1 instanceof Class_) ! return iClassComparator.compare(o1, o2); if (o1 instanceof SchedulingSubpart) return iSchedulingSubpartComparator.compare(o1, o2); --- 40,44 ---- public int compare(Object o1, Object o2) { if (o1 instanceof Class_) ! return iClassComparator.compare((Class_)o1, (Class_)o2); if (o1 instanceof SchedulingSubpart) return iSchedulingSubpartComparator.compare(o1, o2); Index: ClassComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/ClassComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ClassComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- ClassComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; *************** *** 22,31 **** import java.util.Collections; import java.util.Comparator; import java.util.Set; - import java.util.Vector; import org.unitime.timetable.form.ClassListForm; import org.unitime.timetable.model.Assignment; import org.unitime.timetable.model.Class_; import org.unitime.timetable.model.SchedulingSubpart; import org.unitime.timetable.model.TimePattern; --- 22,32 ---- import java.util.Collections; import java.util.Comparator; + import java.util.List; import java.util.Set; import org.unitime.timetable.form.ClassListForm; import org.unitime.timetable.model.Assignment; import org.unitime.timetable.model.Class_; + import org.unitime.timetable.model.DepartmentalInstructor; import org.unitime.timetable.model.SchedulingSubpart; import org.unitime.timetable.model.TimePattern; *************** *** 41,45 **** * @author Heston Fernandes, Tomas Muller */ ! public class ClassComparator implements Comparator { private Long subjectUID = null; --- 42,46 ---- * @author Heston Fernandes, Tomas Muller */ ! public class ClassComparator implements Comparator<Class_> { private Long subjectUID = null; *************** *** 84,88 **** } ! public static int compareInstructors(Vector i1, Vector i2) { if (i1.isEmpty() || i2.isEmpty()) return Double.compare(i1.size(),i2.size()); --- 85,89 ---- } ! public static int compareInstructors(List<DepartmentalInstructor> i1, List<DepartmentalInstructor> i2) { if (i1.isEmpty() || i2.isEmpty()) return Double.compare(i1.size(),i2.size()); *************** *** 90,94 **** if (i2.size()>1) Collections.sort(i2); for (int i=0;i<Math.min(i1.size(),i2.size());i++) { ! int cmp = compare((Comparable)i1.elementAt(i),(Comparable)i2.elementAt(i)); if (cmp!=0) return cmp; } --- 91,95 ---- if (i2.size()>1) Collections.sort(i2); for (int i=0;i<Math.min(i1.size(),i2.size());i++) { ! int cmp = compare(i1.get(i),i2.get(i)); if (cmp!=0) return cmp; } *************** *** 204,208 **** TimeLocation t1 = a1.getPlacement().getTimeLocation(); TimeLocation t2 = a2.getPlacement().getTimeLocation(); ! cmp = Double.compare(t1.getStartSlots().nextInt(), t2.getStartSlots().nextInt()); if (cmp==0) cmp = Double.compare(t1.getDayCode(), t2.getDayCode()); --- 205,209 ---- TimeLocation t1 = a1.getPlacement().getTimeLocation(); TimeLocation t2 = a2.getPlacement().getTimeLocation(); ! cmp = t1.getStartSlots().nextElement().compareTo(t2.getStartSlots().nextElement()); if (cmp==0) cmp = Double.compare(t1.getDayCode(), t2.getDayCode()); *************** *** 246,252 **** } ! public int compare(Object o1, Object o2) { ! Class_ c1 = (Class_) o1; ! Class_ c2 = (Class_) o2; if (classListFormSortBy!=null) { if (keepSubparts) { --- 247,251 ---- } ! public int compare(Class_ c1, Class_ c2) { if (classListFormSortBy!=null) { if (keepSubparts) { Index: CourseReservationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/CourseReservationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CourseReservationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- CourseReservationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: SchedulingSubpartComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/SchedulingSubpartComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SchedulingSubpartComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- SchedulingSubpartComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: IndividualReservationComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/IndividualReservationComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** IndividualReservationComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- IndividualReservationComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: RoomTypeComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/RoomTypeComparator.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** RoomTypeComparator.java 17 Jun 2008 21:24:50 -0000 1.3 --- RoomTypeComparator.java 1 Dec 2010 11:10:50 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: DepartmentalInstructorComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/DepartmentalInstructorComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DepartmentalInstructorComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- DepartmentalInstructorComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; Index: ClassInstructorComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/ClassInstructorComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ClassInstructorComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- ClassInstructorComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; --- ExamObjectsComparator.java DELETED --- Index: InstructorComparator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/comparators/InstructorComparator.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** InstructorComparator.java 17 Jun 2008 21:24:50 -0000 1.2 --- InstructorComparator.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model.comparators; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model.comparators; |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:30
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/blob In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/commons/hibernate/blob Modified Files: XmlBlobType.java Added Files: XmlClobType.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: XmlBlobType.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/hibernate/blob/XmlBlobType.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** XmlBlobType.java 17 Jun 2008 21:24:49 -0000 1.3 --- XmlBlobType.java 1 Dec 2010 11:10:52 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.commons.hibernate.blob; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.commons.hibernate.blob; *************** *** 26,30 **** import java.io.UnsupportedEncodingException; import java.sql.Blob; - import java.sql.DatabaseMetaData; import java.sql.PreparedStatement; import java.sql.ResultSet; --- 26,29 ---- *************** *** 70,74 **** public void nullSafeSet(PreparedStatement ps, Object value, int index) throws SQLException, HibernateException { - DatabaseMetaData dbMetaData = ps.getConnection().getMetaData(); if (value == null) { ps.setNull(index, sqlTypes()[0]); --- 69,72 ---- --- NEW FILE: XmlClobType.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.commons.hibernate.blob; import java.io.ByteArrayInputStream; import java.io.ByteArrayOutputStream; import java.io.CharArrayReader; import java.io.IOException; import java.io.Serializable; import java.io.UnsupportedEncodingException; import java.sql.Clob; import java.sql.PreparedStatement; import java.sql.ResultSet; import java.sql.SQLException; import java.sql.Types; import java.util.List; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.dom4j.Attribute; import org.dom4j.Document; import org.dom4j.DocumentException; import org.dom4j.Element; import org.dom4j.io.OutputFormat; import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; import org.hibernate.HibernateException; import org.hibernate.usertype.UserType; /** * @author Tomas Muller */ public class XmlClobType implements UserType { protected static Log sLog = LogFactory.getLog(XmlClobType.class); public Object nullSafeGet(ResultSet rs, String[] names, Object owner) throws SQLException { Clob clob = rs.getClob(names[0]); if (clob==null) return null; try { SAXReader reader = new SAXReader(); Document document = reader.read(clob.getCharacterStream()); return document; } catch (DocumentException e) { throw new HibernateException(e.getMessage(),e); } } public void nullSafeSet(PreparedStatement ps, Object value, int index) throws SQLException, HibernateException { if (value == null) { ps.setNull(index, sqlTypes()[0]); } else { try { ByteArrayOutputStream bytes = new ByteArrayOutputStream(); XMLWriter writer = new XMLWriter(bytes,OutputFormat.createCompactFormat()); writer.write((Document)value); writer.flush(); writer.close(); ps.setCharacterStream(index, new CharArrayReader(bytes.toString().toCharArray(),0,bytes.size()), bytes.size()); } catch (IOException e) { throw new HibernateException(e.getMessage(),e); } } } public Object deepCopy(Object value) { if (value == null) return null; return ((Document)value).clone(); } public boolean isMutable() { return false; } public int[] sqlTypes() { return new int[] { Types.CLOB }; } public Class returnedClass() { return Document.class; } public boolean equals(Object x, Object y) { if (x==null) return (y==null); if (y==null) return false; if (!x.getClass().getName().equals(y.getClass().getName())) return false; if (x instanceof Document) { Document a = (Document)x; Document b = (Document)y; return equals(a.getName(),b.getName()) && equals(a.getRootElement(),b.getRootElement()); } else if (x instanceof Element) { Element a = (Element)x; Element b = (Element)y; return equals(a.getName(),b.getName()) && equals(a.getText(),b.getText()) && equals(a.attributes(),b.attributes()) && equals(a.elements(),b.elements()); } else if (x instanceof Attribute) { Attribute a = (Attribute)x; Attribute b = (Attribute)y; return equals(a.getName(),b.getName()) && equals(a.getValue(),b.getValue()); } else if (x instanceof List) { List a = (List)x; List b = (List)y; if (a.size()!=b.size()) return false; for (int i=0;i<a.size();i++) if (!equals(a.get(i),b.get(i))) return false; return true; } else return (x.equals(y)); } public Serializable disassemble(Object value) throws HibernateException { try { if (value==null) return null; ByteArrayOutputStream out = new ByteArrayOutputStream(); XMLWriter writer = new XMLWriter(out,OutputFormat.createCompactFormat()); writer.write((Document)value); writer.flush(); writer.close(); return out.toByteArray(); } catch (UnsupportedEncodingException e) { throw new HibernateException(e.getMessage(),e); } catch (IOException e) { throw new HibernateException(e.getMessage(),e); } } public Object assemble(Serializable cached, Object owner) throws HibernateException { try { if (cached==null) return null; ByteArrayInputStream in = new ByteArrayInputStream((byte[])cached); SAXReader reader = new SAXReader(); // GZIPInputStream gzipInput = new GZIPInputStream(in); Document document = reader.read(in); // gzipInput.close(); return document; } catch (DocumentException e) { throw new HibernateException(e.getMessage(),e); // } catch (IOException e) { // throw new HibernateException(e.getMessage(),e); } } public Object replace(Object original, Object target, Object owner) throws HibernateException { return original; } public int hashCode(Object value) throws HibernateException { return ((Document)value).hashCode(); } } |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/model Modified Files: JointEnrollment.java PreferenceLevel.java Location.java DistributionObject.java ManagerRole.java FreeTime.java TimePattern.java Student.java ConstraintInfo.java ExternalRoomDepartment.java SolverPredefinedSetting.java Preference.java BuildingPref.java StudentGroupReservation.java CourseOfferingReservation.java PositionCodeType.java FinalExamEvent.java ExamOwner.java User.java Exam.java GlobalRoomFeature.java Reservation.java Roles.java TimePatternDays.java ExternalRoomFeature.java SolverInfo.java Meeting.java ArrangeCreditUnitConfig.java ItypeDesc.java SolverParameterDef.java DistributionPref.java AssignmentInfo.java Designator.java RoomGroup.java RoomPref.java SimpleItypeConfig.java Session.java CourseOffering.java ApplicationConfig.java ExamConflict.java IndividualReservation.java OfferingConsentType.java PosMinor.java PosMajor.java Curriculum.java SolutionInfo.java CourseCreditFormat.java TimePatternTime.java TimetableManager.java VariableRangeCreditUnitConfig.java AcadAreaPosReservation.java StudentStatusType.java SolverInfoDef.java CourseRequestOption.java LastLikeCourseDemand.java Department.java ClassWaitList.java ReservationType.java AcademicAreaHistory.java SolverParameter.java ExamPeriodPref.java DistributionType.java SolverGroup.java CourseCatalog.java DatePattern.java CharacteristicReservation.java CourseEvent.java DepartmentStatusType.java Room.java MidtermPeriodPreferenceModel.java ExamPeriod.java RoomGroupPref.java SectioningInfo.java StudentEnrollment.java InstructionalOffering.java ClassInstructor.java CourseDemand.java PeriodPreferenceModel.java StandardEventNote.java CurriculumCourse.java Settings.java ManagerSettings.java SubjectArea.java AcademicClassification.java ExactTimeMins.java StudentSectHistory.java RoomSharingModel.java CourseRequest.java BuildingAbbreviationHistory.java DepartmentRoomFeature.java StudentGroup.java Event.java EventNote.java ExternalRoom.java Solution.java RelatedCourseInfo.java StudentClassEnrollment.java CurriculumClassification.java CourseHistory.java PositionType.java SolverParameterGroup.java RoomFeaturePref.java MidtermExamEvent.java Assignment.java SponsoringOrganization.java RoomTypeOption.java CourseSubpartCredit.java UserData.java SpecialEvent.java RoomType.java ClassEvent.java WaitList.java SchedulingSubpart.java RoomDept.java AcademicAreaClassification.java Building.java AcademicArea.java ChangeLog.java Class_.java ExamLocationPref.java ExamEvent.java DemandOfferingType.java PreferenceGroup.java Staff.java RoomFeature.java DepartmentalInstructor.java NonUniversityLocation.java PosReservation.java TimePatternModel.java InstrOfferingConfig.java CourseCreditUnitType.java CourseCreditUnitConfig.java RefTableEntry.java AcadAreaReservation.java History.java CourseCreditType.java EventContact.java ExternalBuilding.java VariableFixedCreditUnitConfig.java TimePref.java SubjectHistory.java FixedCreditUnitConfig.java StudentEnrollmentMessage.java StudentAccomodation.java Added Files: StudentSectioningQueue.java QueryLog.java CurriculumCourseGroup.java CurriculumProjectionRule.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: SolverParameterGroup.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/SolverParameterGroup.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SolverParameterGroup.java 7 Jul 2008 21:13:41 -0000 1.4 --- SolverParameterGroup.java 1 Dec 2010 11:10:39 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; --- NEW FILE: CurriculumProjectionRule.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.timetable.model; import java.util.Hashtable; import java.util.List; import org.unitime.timetable.model.base.BaseCurriculumProjectionRule; import org.unitime.timetable.model.dao.CurriculumProjectionRuleDAO; public class CurriculumProjectionRule extends BaseCurriculumProjectionRule { private static final long serialVersionUID = 1L; /*[CONSTRUCTOR MARKER BEGIN]*/ public CurriculumProjectionRule () { super(); } /** * Constructor for primary key */ public CurriculumProjectionRule (java.lang.Long uniqueId) { super(uniqueId); } /*[CONSTRUCTOR MARKER END]*/ public static List<CurriculumProjectionRule> findAll(Long sessionId) { return CurriculumProjectionRuleDAO.getInstance().getSession() .createQuery("select r from CurriculumProjectionRule r where r.academicArea.session.uniqueId=:sessionId") .setLong("sessionId", sessionId) .setCacheable(true).list(); } public static List<CurriculumProjectionRule> findByAcademicArea(Long acadAreaId) { return CurriculumProjectionRuleDAO.getInstance().getSession() .createQuery("select r from CurriculumProjectionRule r where r.academicArea.uniqueId=:acadAreaId") .setLong("acadAreaId", acadAreaId) .setCacheable(true).list(); } public static Hashtable<String, Float> getProjections(Long acadAreaId, Long acadClasfId) { Hashtable<String, Float> ret = new Hashtable<String, Float>(); for (CurriculumProjectionRule r: (List<CurriculumProjectionRule>)CurriculumProjectionRuleDAO.getInstance().getSession() .createQuery("select r from CurriculumProjectionRule r where r.academicArea.uniqueId=:acadAreaId and r.academicClassification.uniqueId=:acadClasfId") .setLong("acadAreaId", acadAreaId) .setLong("acadClasfId", acadClasfId) .setCacheable(true).list()) { ret.put(r.getMajor() == null ? "" : r.getMajor().getCode(), r.getProjection()); } return ret; } } Index: PreferenceGroup.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/PreferenceGroup.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** PreferenceGroup.java 18 Oct 2008 21:50:03 -0000 1.5 --- PreferenceGroup.java 1 Dec 2010 11:10:39 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 22,28 **** import java.io.File; import java.io.IOException; - import java.util.ArrayList; - import java.util.Collection; - import java.util.HashMap; import java.util.Iterator; import java.util.Set; --- 22,25 ---- *************** *** 207,229 **** RequiredTimeTable rtt = tp.getRequiredTimeTable(assignment); if (gridAsText) { ! String title = tp.getTimePattern().getName(); ! if (assignment!=null) ! title += ", assigned "+assignment.getPlacement().getName(); ! sb.append("<span title='"+title+"'>"+rtt.getModel().toString().replaceAll(", ","<br>")+"</span>"); } else { rtt.getModel().setDefaultSelection(timeGridSize); File imageFileName = null; try { imageFileName = rtt.createImage(timeVertical); } catch (IOException ex) { ! ex.printStackTrace(); } - String title = rtt.getModel().toString(); - if (assignment!=null) - title += ", assigned "+assignment.getPlacement().getName(); if (imageFileName!=null) ! sb.append("<img border='0' src='temp/"+(imageFileName.getName())+"' title='"+title+"'> "); else ! sb.append("<span title='"+title+"'>"+rtt.getModel().toString()+"</span>"); } if (i.hasNext()) sb.append("<br>"); --- 204,236 ---- RequiredTimeTable rtt = tp.getRequiredTimeTable(assignment); if (gridAsText) { ! String hint = null; ! try { ! hint = rtt.print(false, timeVertical).replace(");\n</script>", "").replace("<script language=\"javascript\">\ndocument.write(", "").replace("\n", " "); ! } catch (IOException ex) { ! hint = "'" + tp.getTimePattern().getName(); ! if (assignment!=null) ! hint += ", assigned "+assignment.getPlacement().getName(); ! hint += "'"; ! Debug.error(ex); ! } ! sb.append("<span onmouseover=\"showGwtHint(this, " + hint + ");\" onmouseout=\"hideGwtHint();\">"+rtt.getModel().toString().replaceAll(", ","<br>")+"</span>"); } else { rtt.getModel().setDefaultSelection(timeGridSize); File imageFileName = null; + String hint = null; try { imageFileName = rtt.createImage(timeVertical); + hint = rtt.print(false, timeVertical).replace(");\n</script>", "").replace("<script language=\"javascript\">\ndocument.write(", "").replace("\n", " "); } catch (IOException ex) { ! hint = "'" + rtt.getModel().toString(); ! if (assignment!=null) ! hint += ", assigned "+assignment.getPlacement().getName(); ! hint += "'"; ! Debug.error(ex); } if (imageFileName!=null) ! sb.append("<img border='0' src='temp/"+(imageFileName.getName())+"' onmouseover=\"showGwtHint(this, " + hint + ");\" onmouseout=\"hideGwtHint();\"> "); else ! sb.append("<span onmouseover=\"showGwtHint(this, " + hint + ");\" onmouseout=\"hideGwtHint();\">"+rtt.getModel().toString()+"</span>"); } if (i.hasNext()) sb.append("<br>"); *************** *** 254,280 **** } - /* - public Set effectivePreferences(){ - return(this.getPreferences()); - } - */ - - private HashMap timePrefHash(Collection timePrefList){ - HashMap hm = new HashMap(); - Iterator it = timePrefList.iterator(); - TimePref t = null; - while (it.hasNext()){ - t = (TimePref) it.next(); - if (hm.containsKey(t.getTimePattern())){ - ((ArrayList) hm.get(t.getTimePattern())).add(t); - } else { - ArrayList a = new ArrayList(); - a.add(t); - hm.put(t.getTimePattern(),a); - } - } - return(hm); - } - protected abstract boolean canUserEdit(User user); --- 261,264 ---- Index: DepartmentStatusType.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/DepartmentStatusType.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** DepartmentStatusType.java 5 Aug 2008 15:36:46 -0000 1.7 --- DepartmentStatusType.java 1 Dec 2010 11:10:39 -0000 1.8 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 46,49 **** --- 46,51 ---- public static final int sCanNoRoleReportExamMid = 8192; public static final int sCanNoRoleReportClass = 16384; + public static final int sCanSectioningStudents = 32768; + public static final int sCanPreRegisterStudents = 65536; public static final int sApplySession = 1; *************** *** 62,77 **** } - /** - * Constructor for required fields - */ - public DepartmentStatusType ( - Long uniqueId, - java.lang.String reference) { - - super ( - uniqueId, - reference); - } - /*[CONSTRUCTOR MARKER END]*/ --- 64,67 ---- *************** *** 190,193 **** --- 180,191 ---- } + public boolean canSectioningStudents() { + return can(sCanSectioningStudents); + } + + public boolean canPreRegisterStudents() { + return can(sCanPreRegisterStudents); + } + public boolean canNoRoleReportExam() { return canNoRoleReportExamFinal() || canNoRoleReportExamMidterm(); Index: MidtermExamEvent.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/MidtermExamEvent.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** MidtermExamEvent.java 9 May 2008 15:37:45 -0000 1.2 --- MidtermExamEvent.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,2 **** --- 1,21 ---- + /* + * UniTime 3.2 (University Timetabling Application) + * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors + * as indicated by the @authors tag. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.unitime.timetable.model; *************** *** 20,37 **** } - /** - * Constructor for required fields - */ - public MidtermExamEvent ( - java.lang.Long uniqueId, - java.lang.Integer minCapacity, - java.lang.Integer maxCapacity) { - - super ( - uniqueId, - minCapacity, - maxCapacity); - } - /*[CONSTRUCTOR MARKER END]*/ --- 39,42 ---- Index: SubjectHistory.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/SubjectHistory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SubjectHistory.java 17 Jun 2008 21:24:43 -0000 1.2 --- SubjectHistory.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 43,62 **** } - /** - * Constructor for required fields - */ - public SubjectHistory ( - java.lang.Long uniqueId, - java.lang.String oldValue, - java.lang.String newValue, - java.lang.Long sessionId) { - - super ( - uniqueId, - oldValue, - newValue, - sessionId); - } - /*[CONSTRUCTOR MARKER END]*/ --- 43,46 ---- Index: Student.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/Student.java,v retrieving revision 1.8 retrieving revision 1.9 diff -C2 -d -r1.8 -r1.9 *** Student.java 19 May 2010 12:42:00 -0000 1.8 --- Student.java 1 Dec 2010 11:10:39 -0000 1.9 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 52,75 **** } - /** - * Constructor for required fields - */ - public Student ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Session session, - java.lang.String firstName, - java.lang.String lastName, - java.lang.Integer freeTimeCategory, - java.lang.Integer schedulePreference) { - - super ( - uniqueId, - session, - firstName, - lastName, - freeTimeCategory, - schedulePreference); - } - /*[CONSTRUCTOR MARKER END]*/ --- 52,55 ---- *************** *** 104,108 **** } ! public Set getExams(Integer examType) { HashSet exams = new HashSet(); exams.addAll(new StudentDAO().getSession().createQuery( --- 84,88 ---- } ! public Set<Exam> getExams(Integer examType) { HashSet exams = new HashSet(); exams.addAll(new StudentDAO().getSession().createQuery( *************** *** 154,157 **** --- 134,139 ---- (getFirstName()==null?"":getFirstName().trim().substring(0, 1).toUpperCase())+ (getMiddleName()==null?"":" "+getMiddleName().trim().substring(0, 1).toUpperCase()); + else if (DepartmentalInstructor.sNameFormatLastFirstMiddle.equals(instructorNameFormat)) + return Constants.toInitialCase((getLastName()==null?"":getLastName().trim())+", "+(getFirstName()==null?"":getFirstName().trim()) + (getMiddleName()==null?"":" "+getMiddleName().trim())); else if (DepartmentalInstructor.sNameFormatShort.equals(instructorNameFormat)) { StringBuffer sb = new StringBuffer(); Index: Preference.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/Preference.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** Preference.java 17 Jun 2008 21:24:42 -0000 1.3 --- Preference.java 1 Dec 2010 11:10:39 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 42,59 **** } - /** - * Constructor for required fields - */ - public Preference ( - java.lang.Long uniqueId, - org.unitime.timetable.model.PreferenceGroup owner, - org.unitime.timetable.model.PreferenceLevel prefLevel) { - - super ( - uniqueId, - owner, - prefLevel); - } - /*[CONSTRUCTOR MARKER END]*/ --- 42,45 ---- *************** *** 63,72 **** protected String preferenceHtml() { ! StringBuffer sb = new StringBuffer(); if (this.getPrefLevel().getPrefId().intValue() != 4) { ! sb.append("<span style='color:"+this.getPrefLevel().prefcolor()+";font-weight:bold;' title='"+preferenceTitle()+"'>" ); } else { ! sb.append("<span style='font-weight:bold;' title='"+preferenceTitle()+"'>" ); } sb.append(this.preferenceAbbv()); --- 49,59 ---- protected String preferenceHtml() { ! StringBuffer sb = new StringBuffer("<span "); if (this.getPrefLevel().getPrefId().intValue() != 4) { ! sb.append("style='color:"+this.getPrefLevel().prefcolor()+";font-weight:bold;' "); } else { ! sb.append("style='font-weight:bold;' "); } + sb.append("onmouseover=\"showGwtHint(this, '" + preferenceTitle() + "');\" onmouseout=\"hideGwtHint();\">"); sb.append(this.preferenceAbbv()); Index: CourseCreditUnitType.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/CourseCreditUnitType.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CourseCreditUnitType.java 17 Jun 2008 21:24:43 -0000 1.2 --- CourseCreditUnitType.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 46,61 **** } - /** - * Constructor for required fields - */ - public CourseCreditUnitType ( - Long uniqueId, - java.lang.String reference) { - - super ( - uniqueId, - reference); - } - /*[CONSTRUCTOR MARKER END]*/ --- 46,49 ---- *************** *** 70,77 **** CourseCreditUnitTypeDAO cctDao = new CourseCreditUnitTypeDAO(); - Vector orderList = new Vector(); - orderList.addElement(Order.asc("label")); ! List l = cctDao.findAll(orderList); courseCreditUnitTypeList = new Vector(l); return(courseCreditUnitTypeList); --- 58,63 ---- CourseCreditUnitTypeDAO cctDao = new CourseCreditUnitTypeDAO(); ! List l = cctDao.findAll(Order.asc("label")); courseCreditUnitTypeList = new Vector(l); return(courseCreditUnitTypeList); Index: DepartmentRoomFeature.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/DepartmentRoomFeature.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** DepartmentRoomFeature.java 17 Jun 2008 21:24:43 -0000 1.2 --- DepartmentRoomFeature.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 44,59 **** } - /** - * Constructor for required fields - */ - public DepartmentRoomFeature ( - java.lang.Long uniqueId, - java.lang.String label) { - - super ( - uniqueId, - label); - } - /*[CONSTRUCTOR MARKER END]*/ public static String featureTypeDisplayString() { --- 44,47 ---- *************** *** 101,104 **** --- 89,93 ---- DepartmentRoomFeature newFeature = new DepartmentRoomFeature(); newFeature.setLabel(getLabel()); + newFeature.setAbbv(getAbbv()); newFeature.setDepartment(getDepartment()); return(newFeature); Index: TimePatternDays.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/TimePatternDays.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TimePatternDays.java 17 Jun 2008 21:24:43 -0000 1.2 --- TimePatternDays.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; Index: CourseOfferingReservation.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/CourseOfferingReservation.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CourseOfferingReservation.java 17 Jun 2008 21:24:43 -0000 1.4 --- CourseOfferingReservation.java 1 Dec 2010 11:10:39 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 39,60 **** } - /** - * Constructor for required fields - */ - public CourseOfferingReservation ( - java.lang.Long uniqueId, - org.unitime.timetable.model.ReservationType reservationType, - java.lang.String ownerClassId, - java.lang.Long owner, - java.lang.Integer priority) { - - super ( - uniqueId, - reservationType, - ownerClassId, - owner, - priority); - } - /*[CONSTRUCTOR MARKER END]*/ --- 39,42 ---- Index: InstructionalOffering.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/InstructionalOffering.java,v retrieving revision 1.12 retrieving revision 1.13 diff -C2 -d -r1.12 -r1.13 *** InstructionalOffering.java 8 Mar 2009 16:23:00 -0000 1.12 --- InstructionalOffering.java 1 Dec 2010 11:10:39 -0000 1.13 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 39,42 **** --- 39,43 ---- import org.unitime.commons.Debug; import org.unitime.commons.User; + import org.unitime.timetable.ApplicationProperties; import org.unitime.timetable.model.base.BaseInstructionalOffering; import org.unitime.timetable.model.comparators.AcadAreaReservationComparator; *************** *** 72,93 **** } - /** - * Constructor for required fields - */ - public InstructionalOffering ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Session session, - java.lang.Integer instrOfferingPermId, - java.lang.Boolean notOffered, - java.lang.Boolean designatorRequired) { - - super ( - uniqueId, - session, - instrOfferingPermId, - notOffered, - designatorRequired); - } - /*[CONSTRUCTOR MARKER END]*/ --- 73,76 ---- *************** *** 165,175 **** - /** - * Return the value associated with the column: instrOfferingConfigs - */ - public java.util.Set getInstrOfferingConfigs () { - return super.getInstrOfferingConfigs(); - } - public Department getDepartment() { return (this.getControllingCourseOffering().getDepartment()); --- 148,151 ---- *************** *** 330,339 **** if (courseNbr.indexOf('*')>=0) { query.append(" like '"); ! courseNbr = courseNbr.replace('*', '%').toUpperCase(); } else { query.append(" = '"); } ! query.append(courseNbr.toUpperCase()); query.append("' "); } --- 306,317 ---- if (courseNbr.indexOf('*')>=0) { query.append(" like '"); ! courseNbr = courseNbr.replace('*', '%'); } else { query.append(" = '"); } ! if ("true".equals(ApplicationProperties.getProperty("tmtbl.courseNumber.upperCase", "true"))) ! courseNbr = courseNbr.toUpperCase(); ! query.append(courseNbr); query.append("' "); } *************** *** 803,806 **** --- 781,794 ---- uniqueResult(); } + + public Integer getProjectedDemand() { + int demand = 0; + for (Iterator<CourseOffering> i = getCourseOfferings().iterator(); i.hasNext(); ) { + CourseOffering course = i.next(); + if (course.getProjectedDemand() != null) + demand += course.getProjectedDemand(); + } + return demand; + } } Index: CharacteristicReservation.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/CharacteristicReservation.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** CharacteristicReservation.java 17 Jun 2008 21:24:43 -0000 1.2 --- CharacteristicReservation.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 39,60 **** } - /** - * Constructor for required fields - */ - public CharacteristicReservation ( - java.lang.Long uniqueId, - org.unitime.timetable.model.ReservationType reservationType, - java.lang.String ownerClassId, - java.lang.Long owner, - java.lang.Integer priority) { - - super ( - uniqueId, - reservationType, - ownerClassId, - owner, - priority); - } - /*[CONSTRUCTOR MARKER END]*/ --- 39,42 ---- Index: ExamLocationPref.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/ExamLocationPref.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExamLocationPref.java 17 Jun 2008 21:24:43 -0000 1.2 --- ExamLocationPref.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 38,57 **** } - /** - * Constructor for required fields - */ - public ExamLocationPref ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Location location, - org.unitime.timetable.model.PreferenceLevel prefLevel, - org.unitime.timetable.model.ExamPeriod period) { - - super ( - uniqueId, - location, - prefLevel, - period); - } - /*[CONSTRUCTOR MARKER END]*/ --- 38,41 ---- Index: ClassInstructor.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/ClassInstructor.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ClassInstructor.java 17 Jun 2008 21:24:42 -0000 1.3 --- ClassInstructor.java 1 Dec 2010 11:10:39 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 39,60 **** } - /** - * Constructor for required fields - */ - public ClassInstructor ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Class_ classInstructing, - org.unitime.timetable.model.DepartmentalInstructor instructor, - java.lang.Integer percentShare, - java.lang.Boolean lead) { - - super ( - uniqueId, - classInstructing, - instructor, - percentShare, - lead); - } - /*[CONSTRUCTOR MARKER END]*/ --- 39,42 ---- Index: PositionType.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/PositionType.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** PositionType.java 17 Jun 2008 21:24:43 -0000 1.2 --- PositionType.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 47,62 **** } - /** - * Constructor for required fields - */ - public PositionType ( - Long uniqueId, - java.lang.String reference) { - - super ( - uniqueId, - reference); - } - /*[CONSTRUCTOR MARKER END]*/ --- 47,50 ---- *************** *** 137,144 **** PositionTypeDAO pdao = new PositionTypeDAO(); - Vector orderList = new Vector(); - orderList.addElement(Order.asc("label")); ! List l = pdao.findAll(orderList); posTypeList = new Vector(l); return posTypeList; --- 125,130 ---- PositionTypeDAO pdao = new PositionTypeDAO(); ! List l = pdao.findAll(Order.asc("label")); posTypeList = new Vector(l); return posTypeList; Index: CourseDemand.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/CourseDemand.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** CourseDemand.java 7 Apr 2010 19:05:15 -0000 1.4 --- CourseDemand.java 1 Dec 2010 11:10:39 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 40,63 **** } - /** - * Constructor for required fields - */ - public CourseDemand ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Student student, - java.lang.Integer priority, - java.lang.Boolean waitlist, - java.lang.Boolean alternative, - java.util.Date timestamp) { - - super ( - uniqueId, - student, - priority, - waitlist, - alternative, - timestamp); - } - /*[CONSTRUCTOR MARKER END]*/ --- 40,43 ---- Index: ExternalBuilding.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/ExternalBuilding.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExternalBuilding.java 17 Jun 2008 21:24:43 -0000 1.2 --- ExternalBuilding.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 46,63 **** } - /** - * Constructor for required fields - */ - public ExternalBuilding ( - java.lang.Long uniqueId, - org.unitime.timetable.model.Session session, - java.lang.String abbreviation) { - - super ( - uniqueId, - session, - abbreviation); - } - /*[CONSTRUCTOR MARKER END]*/ --- 46,49 ---- Index: History.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/History.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** History.java 17 Jun 2008 21:24:43 -0000 1.2 --- History.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 46,65 **** } - /** - * Constructor for required fields - */ - public History ( - java.lang.Long uniqueId, - java.lang.String oldValue, - java.lang.String newValue, - java.lang.Long sessionId) { - - super ( - uniqueId, - oldValue, - newValue, - sessionId); - } - /*[CONSTRUCTOR MARKER END]*/ --- 46,49 ---- Index: AcadAreaPosReservation.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/AcadAreaPosReservation.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AcadAreaPosReservation.java 17 Jun 2008 21:24:43 -0000 1.2 --- AcadAreaPosReservation.java 1 Dec 2010 11:10:39 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.model; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.model; *************** *** 39,60 **** } - /** - * Constructor for required fields - */ - public AcadAreaPosReservation ( - java.lang.Long uniqueId, - org.unitime.timetable.model.ReservationType reservationType, - java.lang.String ownerClassId, - java.lang.Long owner, - java.lang.Integer priority) { - - super ( - uniqueId, - reservationType, - ownerClassId, - owner, - priority); - } - /*[CONSTRUCTOR MARKER END]*/ --- 39,42 ---- Index: SolverPredefinedSetting.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/SolverPredefinedSetting.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** SolverPredefinedSetting.java 7 Jul 2008 21:13:41 -0000 1.4 --- SolverPredefinedSetting.java 1 Dec 2010 11:10:39 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! ... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/WebContent/WEB-INF/dtd In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/WEB-INF/dtd Modified Files: hibernate-configuration-3.0.dtd hibernate-mapping-3.0.dtd ehcache.xsd Added Files: tiles-config_1_3.dtd struts-config_1_3.dtd Removed Files: struts-config_1_2.dtd tiles-config_1_1.dtd Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: hibernate-configuration-3.0.dtd =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/dtd/hibernate-configuration-3.0.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hibernate-configuration-3.0.dtd 12 Jun 2007 02:27:32 -0000 1.1 --- hibernate-configuration-3.0.dtd 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 35,42 **** <!ELEMENT event (listener*)> ! <!ATTLIST event type (auto-flush|merge|create|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|post-load|post-update|post-insert|post-delete|post-commit-update|post-commit-insert|post-commit-delete) #REQUIRED> <!ELEMENT listener EMPTY> ! <!ATTLIST listener type (auto-flush|merge|create|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|post-load|post-update|post-insert|post-delete|post-commit-update|post-commit-insert|post-commit-delete) #IMPLIED> <!ATTLIST listener class CDATA #REQUIRED> --- 35,42 ---- <!ELEMENT event (listener*)> ! <!ATTLIST event type (auto-flush|merge|create|create-onflush|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|pre-collection-recreate|pre-collection-remove|pre-collection-update|post-load|post-update|post-insert|post-delete|post-collection-recreate|post-collection-remove|post-collection-update|post-commit-update|post-commit-insert|post-commit-delete) #REQUIRED> <!ELEMENT listener EMPTY> ! <!ATTLIST listener type (auto-flush|merge|create|create-onflush|delete|dirty-check|evict|flush|flush-entity|load|load-collection|lock|refresh|replicate|save-update|save|update|pre-load|pre-update|pre-insert|pre-delete|pre-collection-recreate|pre-collection-remove|pre-collection-update|post-load|post-update|post-insert|post-delete|post-collection-recreate|post-collection-remove|post-collection-update|post-commit-update|post-commit-insert|post-commit-delete) #IMPLIED> <!ATTLIST listener class CDATA #REQUIRED> Index: hibernate-mapping-3.0.dtd =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/dtd/hibernate-mapping-3.0.dtd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** hibernate-mapping-3.0.dtd 12 Jun 2007 02:27:32 -0000 1.1 --- hibernate-mapping-3.0.dtd 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 18,28 **** <!ELEMENT hibernate-mapping ( ! meta*, ! typedef*, ! import*, (class|subclass|joined-subclass|union-subclass)*, resultset*, (query|sql-query)*, filter-def*, database-object* )> --- 18,31 ---- <!ELEMENT hibernate-mapping ( ! meta*, ! identifier-generator*, ! typedef*, ! filter-def*, ! import*, (class|subclass|joined-subclass|union-subclass)*, resultset*, (query|sql-query)*, filter-def*, + fetch-profile*, database-object* )> *************** *** 36,40 **** <!-- ! META element definition; used to assign meta-level attributes to a class or property. Is currently used by codegenerator as a placeholder for values that is not directly related to OR mappings. --- 39,43 ---- <!-- ! <meta.../> is used to assign meta-level attributes to a class or property. Is currently used by codegenerator as a placeholder for values that is not directly related to OR mappings. *************** *** 45,49 **** <!-- ! TYPEDEF element definition; defines a new name for a Hibernate type. May contain parameters for parameterizable types. --> --- 48,59 ---- <!-- ! <identifier-generator.../> allows customized short-naming of IdentifierGenerator implementations. ! --> ! <!ELEMENT identifier-generator EMPTY> ! <!ATTLIST identifier-generator name CDATA #REQUIRED> ! <!ATTLIST identifier-generator class CDATA #REQUIRED> ! ! <!-- ! <typedef.../> allows defining a customized type mapping for a Hibernate type. May contain parameters for parameterizable types. --> *************** *** 79,82 **** --- 89,93 ---- loader?,sql-insert?,sql-update?,sql-delete?, filter*, + fetch-profile*, resultset*, (query|sql-query)* *************** *** 92,96 **** <!ATTLIST class discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none --> <!ATTLIST class mutable (true|false) "true"> ! <!ATTLIST class abstract (true|false) "false"> <!ATTLIST class polymorphism (implicit|explicit) "implicit"> <!ATTLIST class where CDATA #IMPLIED> <!-- default: none --> --- 103,107 ---- <!ATTLIST class discriminator-value CDATA #IMPLIED> <!-- default: unqualified class name | none --> <!ATTLIST class mutable (true|false) "true"> ! <!ATTLIST class abstract (true|false) #IMPLIED> <!ATTLIST class polymorphism (implicit|explicit) "implicit"> <!ATTLIST class where CDATA #IMPLIED> <!-- default: none --> *************** *** 134,137 **** --- 145,164 ---- <!ATTLIST filter condition CDATA #IMPLIED> + <!-- + --> + <!ELEMENT fetch-profile (fetch*)> + <!ATTLIST fetch-profile name CDATA #REQUIRED> + + <!-- + The <fetch> element defines a single path to which the fetch + refers, as well as the style of fetch to apply. The 'root' of the + path is different depending upon the context in which the + containing <fetch-profile/> occurs; within a <class/> element, + the entity-name of the containing class mapping is assumed... + --> + <!ELEMENT fetch EMPTY> + <!ATTLIST fetch entity CDATA #IMPLIED> <!-- Implied as long as the containing fetch profile is contained in a class mapping --> + <!ATTLIST fetch association CDATA #REQUIRED> + <!ATTLIST fetch style (join|select) "join"> <!-- A join allows some properties of a class to be persisted to a second table --> *************** *** 175,179 **** and hashCode(). --> ! <!ELEMENT composite-id ( meta*, (key-property|key-many-to-one)+ )> <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id mapped (true|false) "false"> --- 202,206 ---- and hashCode(). --> ! <!ELEMENT composite-id ( meta*, (key-property|key-many-to-one)+, generator? )> <!ATTLIST composite-id class CDATA #IMPLIED> <!ATTLIST composite-id mapped (true|false) "false"> *************** *** 232,235 **** --- 259,263 ---- subclass*, loader?,sql-insert?,sql-update?,sql-delete?, + fetch-profile*, resultset*, (query|sql-query)* *************** *** 244,248 **** <!ATTLIST subclass extends CDATA #IMPLIED> <!-- default: empty when a toplevel, otherwise the nearest class definition --> <!ATTLIST subclass lazy (true|false) #IMPLIED> ! <!ATTLIST subclass abstract (true|false) "false"> <!ATTLIST subclass persister CDATA #IMPLIED> <!ATTLIST subclass batch-size CDATA #IMPLIED> --- 272,276 ---- <!ATTLIST subclass extends CDATA #IMPLIED> <!-- default: empty when a toplevel, otherwise the nearest class definition --> <!ATTLIST subclass lazy (true|false) #IMPLIED> ! <!ATTLIST subclass abstract (true|false) #IMPLIED> <!ATTLIST subclass persister CDATA #IMPLIED> <!ATTLIST subclass batch-size CDATA #IMPLIED> *************** *** 264,267 **** --- 292,296 ---- joined-subclass*, loader?,sql-insert?,sql-update?,sql-delete?, + fetch-profile*, resultset*, (query|sql-query)* *************** *** 279,283 **** <!ATTLIST joined-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition --> <!ATTLIST joined-subclass lazy (true|false) #IMPLIED> ! <!ATTLIST joined-subclass abstract (true|false) "false"> <!ATTLIST joined-subclass persister CDATA #IMPLIED> <!ATTLIST joined-subclass check CDATA #IMPLIED> <!-- default: none --> --- 308,312 ---- <!ATTLIST joined-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition --> <!ATTLIST joined-subclass lazy (true|false) #IMPLIED> ! <!ATTLIST joined-subclass abstract (true|false) #IMPLIED> <!ATTLIST joined-subclass persister CDATA #IMPLIED> <!ATTLIST joined-subclass check CDATA #IMPLIED> <!-- default: none --> *************** *** 299,302 **** --- 328,332 ---- union-subclass*, loader?,sql-insert?,sql-update?,sql-delete?, + fetch-profile*, resultset*, (query|sql-query)* *************** *** 314,318 **** <!ATTLIST union-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition --> <!ATTLIST union-subclass lazy (true|false) #IMPLIED> ! <!ATTLIST union-subclass abstract (true|false) "false"> <!ATTLIST union-subclass persister CDATA #IMPLIED> <!ATTLIST union-subclass check CDATA #IMPLIED> <!-- default: none --> --- 344,348 ---- <!ATTLIST union-subclass extends CDATA #IMPLIED> <!-- default: none when toplevel, otherwise the nearest class definition --> <!ATTLIST union-subclass lazy (true|false) #IMPLIED> ! <!ATTLIST union-subclass abstract (true|false) #IMPLIED> <!ATTLIST union-subclass persister CDATA #IMPLIED> <!ATTLIST union-subclass check CDATA #IMPLIED> <!-- default: none --> *************** *** 378,382 **** component element, etc. to an entity). --> ! <!ELEMENT one-to-one (meta*|formula*)> <!ATTLIST one-to-one name CDATA #REQUIRED> <!ATTLIST one-to-one formula CDATA #IMPLIED> --- 408,412 ---- component element, etc. to an entity). --> ! <!ELEMENT one-to-one (meta*,formula*)> <!ATTLIST one-to-one name CDATA #REQUIRED> <!ATTLIST one-to-one formula CDATA #IMPLIED> *************** *** 726,734 **** <!-- Declares the element type of a collection of basic type --> ! <!ELEMENT element (column|formula)*> <!ATTLIST element column CDATA #IMPLIED> <!ATTLIST element node CDATA #IMPLIED> <!ATTLIST element formula CDATA #IMPLIED> ! <!ATTLIST element type CDATA #REQUIRED> <!ATTLIST element length CDATA #IMPLIED> <!ATTLIST element precision CDATA #IMPLIED> --- 756,764 ---- <!-- Declares the element type of a collection of basic type --> ! <!ELEMENT element ( (column|formula)*, type? )> <!ATTLIST element column CDATA #IMPLIED> <!ATTLIST element node CDATA #IMPLIED> <!ATTLIST element formula CDATA #IMPLIED> ! <!ATTLIST element type CDATA #IMPLIED> <!ATTLIST element length CDATA #IMPLIED> <!ATTLIST element precision CDATA #IMPLIED> *************** *** 766,769 **** --- 796,800 ---- <!ATTLIST many-to-many unique (true|false) "false"> <!ATTLIST many-to-many where CDATA #IMPLIED> + <!ATTLIST many-to-many order-by CDATA #IMPLIED> <!ATTLIST many-to-many property-ref CDATA #IMPLIED> *************** *** 776,779 **** --- 807,811 ---- (meta*), parent?, + tuplizer*, (property|many-to-one|any|nested-composite-element)* )> *************** *** 783,786 **** --- 815,819 ---- <!ELEMENT nested-composite-element ( parent?, + tuplizer*, (property|many-to-one|any|nested-composite-element)* )> *************** *** 884,887 **** --- 917,922 ---- <!ATTLIST column check CDATA #IMPLIED> <!-- default: no check constraint --> <!ATTLIST column default CDATA #IMPLIED> <!-- default: no default value --> + <!ATTLIST column read CDATA #IMPLIED> <!-- default: column name --> + <!ATTLIST column write CDATA #IMPLIED> <!-- default: parameter placeholder ('?') --> <!-- The formula and subselect elements allow us to map derived properties and *************** *** 930,936 **** <!ATTLIST sql-query fetch-size CDATA #IMPLIED> <!ATTLIST sql-query timeout CDATA #IMPLIED> ! <!ATTLIST query cache-mode (get|ignore|normal|put|refresh) #IMPLIED> ! <!ATTLIST query read-only (true|false) #IMPLIED> ! <!ATTLIST query comment CDATA #IMPLIED> <!ATTLIST sql-query callable (true|false) "false"> --- 965,971 ---- <!ATTLIST sql-query fetch-size CDATA #IMPLIED> <!ATTLIST sql-query timeout CDATA #IMPLIED> ! <!ATTLIST sql-query cache-mode (get|ignore|normal|put|refresh) #IMPLIED> ! <!ATTLIST sql-query read-only (true|false) #IMPLIED> ! <!ATTLIST sql-query comment CDATA #IMPLIED> <!ATTLIST sql-query callable (true|false) "false"> *************** *** 983,987 **** <!ELEMENT return-scalar EMPTY> <!ATTLIST return-scalar column CDATA #REQUIRED> ! <!ATTLIST return-scalar type CDATA #REQUIRED> <!ELEMENT synchronize EMPTY> --- 1018,1022 ---- <!ELEMENT return-scalar EMPTY> <!ATTLIST return-scalar column CDATA #REQUIRED> ! <!ATTLIST return-scalar type CDATA #IMPLIED> <!ELEMENT synchronize EMPTY> *************** *** 990,1003 **** <!-- custom sql operations --> <!ELEMENT sql-insert (#PCDATA)> ! <!ATTLIST sql-insert callable (true|false) "false"> <!ELEMENT sql-update (#PCDATA)> ! <!ATTLIST sql-update callable (true|false) "false"> <!ELEMENT sql-delete (#PCDATA)> ! <!ATTLIST sql-delete callable (true|false) "false"> <!ELEMENT sql-delete-all (#PCDATA)> <!ATTLIST sql-delete-all callable (true|false) "false"> <!-- --- 1025,1042 ---- <!-- custom sql operations --> <!ELEMENT sql-insert (#PCDATA)> ! <!ATTLIST sql-insert callable (true|false) "false"> ! <!ATTLIST sql-insert check (none|rowcount|param) #IMPLIED> <!ELEMENT sql-update (#PCDATA)> ! <!ATTLIST sql-update callable (true|false) "false"> ! <!ATTLIST sql-update check (none|rowcount|param) #IMPLIED> <!ELEMENT sql-delete (#PCDATA)> ! <!ATTLIST sql-delete callable (true|false) "false"> ! <!ATTLIST sql-delete check (none|rowcount|param) #IMPLIED> <!ELEMENT sql-delete-all (#PCDATA)> <!ATTLIST sql-delete-all callable (true|false) "false"> + <!ATTLIST sql-delete-all check (none|rowcount|param) #IMPLIED> <!-- *************** *** 1005,1017 **** #1 : ! <auxiliary-object> <definition class="CustomClassExtendingAuxiliaryObject"/> ! </auxiliary-object> #2 : ! <auxiliary-object> ! <create>CRAETE OR REPLACE ....</create> <drop>DROP ....</drop> ! </auxiliary-object> --> <!ELEMENT database-object ( (definition|(create,drop)), dialect-scope* )> --- 1044,1056 ---- #1 : ! <database-object> <definition class="CustomClassExtendingAuxiliaryObject"/> ! </database-object> #2 : ! <database-object> ! <create>CREATE OR REPLACE ....</create> <drop>DROP ....</drop> ! </database-object> --> <!ELEMENT database-object ( (definition|(create,drop)), dialect-scope* )> --- NEW FILE: tiles-config_1_3.dtd --- <!-- $Id: tiles-config_1_3.dtd,v 1.2 2010/12/01 11:10:49 tomas13 Exp $ Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. --> <!-- DTD for the Tile Definition File, Version 1.3 To support validation of your configuration file, include the following DOCTYPE element at the beginning (after the "xml" declaration): <!DOCTYPE tiles-definitions PUBLIC "-//Apache Software Foundation//DTD Tiles Configuration 1.3//EN" "http://struts.apache.org/dtds/tiles-config_1_3.dtd"> $Id: tiles-config_1_3.dtd,v 1.2 2010/12/01 11:10:49 tomas13 Exp $ --> <!-- ========== Defined Types ============================================= --> <!-- A "Boolean" is the string representation of a boolean (true or false) variable. --> <!ENTITY % Boolean "(true|false)"> <!-- A "ContentType" is the content type of an attribute passed to a tile component. --> <!ENTITY % ContentType "(string|page|template|definition)"> <!-- A "ClassName" is the fully qualified name of a Java class that is instantiated to provide the functionality of the enclosing element. --> <!ENTITY % ClassName "CDATA"> <!-- A "RequestPath" is an module-relative URI path, beginning with a slash, that identifies a mapped resource (such as a JSP page or a servlet) within this web application. --> <!ENTITY % RequestPath "CDATA"> <!-- A "DefinitionName" is the unique identifier of a definition. This identifier is a logical name used to reference the definition. --> <!ENTITY % DefinitionName "CDATA"> <!-- A "BeanName" is the identifier of a JavaBean, such as a form bean, and also serves as the name of the corresponding scripting variable and the name of the JSP attribute under which the bean is accessed. Therefore, it must conform to the rules for a Java identifier. --> <!ENTITY % BeanName "CDATA"> <!-- A "PropName" is the name of a JavaBeans property, and must begin with a lower case letter and contain only characters that are legal in a Java identifier. --> <!ENTITY % PropName "CDATA"> <!-- A "Location" is a relative path, delimited by "/" characters, that defines the location of a resource relative to the location of the configuration file itself. --> <!ENTITY % Location "#PCDATA"> <!-- ========== Top Level Elements ======================================== --> <!-- deprecated: use tiles-definitions instead.--> <!ELEMENT component-definitions (definition+)> <!-- The "tiles-definitions" element is the root of the configuration file hierarchy, and contains nested elements for all of the other configuration settings. --> <!ELEMENT tiles-definitions (definition+)> <!-- The "definition" element describes a definition that can be inserted in a jsp page. This definition is identified by its logical name. A definition allows to define all the attributes that can be set in <insert> tag from a jsp page. controllerClass The fully qualified Java class name of the controller subclass to call immediately before the tiles is inserted. Only one of controllerClass or controllerUrl should be specified. controllerUrl The context-relative path to the resource used as controller called immediately before the tiles is inserted. Only one of controllerClass or controllerUrl should be specified. extends Name of a definition that is used as ancestor of this definition. All attributes from the ancestor are available to the new definition. Any attribute inherited from the ancestor can be overloaded by providing a new value. name The unique identifier for this definition. page Same as path. path The context-relative path to the resource used as tiles to insert. This tiles will be inserted and a tiles context containing appropriate attributes will be available. role Security role name that is allowed access to this definition object. The definition is inserted only if the role name is allowed. template Same as path. For compatibility with the template tag library. --> <!ELEMENT definition (icon?, display-name?, description?, put*, putList*)> <!ATTLIST definition id ID #IMPLIED> <!ATTLIST definition controllerClass %ClassName; #IMPLIED> <!ATTLIST definition controllerUrl %RequestPath; #IMPLIED> <!ATTLIST definition extends %DefinitionName; #IMPLIED> <!ATTLIST definition name %DefinitionName; #REQUIRED> <!ATTLIST definition page %RequestPath; #IMPLIED> <!ATTLIST definition path %RequestPath; #IMPLIED> <!ATTLIST definition role CDATA #IMPLIED> <!ATTLIST definition template %RequestPath; #IMPLIED> <!-- The "put" element describes an attribute of a definition. It allows to specify the tiles attribute name and its value. The tiles value can be specified as an xml attribute, or in the body of the <put> tag. content Same as value. For compatibility with the template tag library. direct Same as type="string". For compatibility with the template tag library. name The unique identifier for this put. type The type of the value. Can be: string, page, template or definition. By default, no type is associated to a value. If a type is associated, it will be used as a hint to process the value when the attribute will be used in the inserted tiles. value The value associated to this tiles attribute. The value should be specified with this tag attribute, or in the body of the tag. --> <!ELEMENT put (#PCDATA)> <!ATTLIST put id ID #IMPLIED> <!ATTLIST put content CDATA #IMPLIED> <!ATTLIST put direct %Boolean; #IMPLIED> <!ATTLIST put name CDATA #REQUIRED> <!ATTLIST put type %ContentType; #IMPLIED> <!ATTLIST put value CDATA #IMPLIED> <!-- The "putList" element describes a list attribute of a definition. It allows to specify an attribute that is a java List containing any kind of values. In the config file, the list elements are specified by nested <add>, <item> or <putList>. name The unique identifier for this put list. --> <!ELEMENT putList ( (add* | item* | bean* | putList*)+) > <!ATTLIST putList id ID #IMPLIED> <!ATTLIST putList name CDATA #REQUIRED> <!-- ========== Subordinate Elements ====================================== --> <!-- The "add" element describes an element of a list. It is similar to the <put> element. content Same as value. For compatibility with the template tag library. direct Same as type="string". For compatibility with the template tag library. type The type of the value. Can be: string, page, template or definition. By default, no type is associated to a value. If a type is associated, it will be used as a hint to process the value when the attribute will be used in the inserted tiles. value The value associated to this tiles attribute. The value should be specified with this tag attribute, or in the body of the tag. --> <!ELEMENT add (#PCDATA)> <!ATTLIST add id ID #IMPLIED> <!ATTLIST add content CDATA #IMPLIED> <!ATTLIST add direct %Boolean; #IMPLIED> <!ATTLIST add type %ContentType; #IMPLIED> <!ATTLIST add value CDATA #IMPLIED> <!-- The "bean" element describes an element of a list. It create a bean of the specified java classtype. This bean is initialized with appropriate nested <set-property>. classtype The fully qualified classname for this bean. --> <!ELEMENT bean (set-property*)> <!ATTLIST bean id ID #IMPLIED> <!ATTLIST bean classtype %ClassName; #REQUIRED> <!-- The "set-property" element specifies the method name and initial value of a bean property. When the object representing the surrounding element is instantiated, the accessor for the indicated property is called and passed the indicated value. property Name of the JavaBeans property whose setter method will be called. value String representation of the value to which this property will be set, after suitable type conversion --> <!ELEMENT set-property EMPTY> <!ATTLIST set-property id ID #IMPLIED> <!ATTLIST set-property property %PropName; #REQUIRED> <!ATTLIST set-property value CDATA #REQUIRED> <!-- The "item" element describes an element of a list. It create a bean added as element to the list. Each bean can contain different properties: value, link, icon, tooltip. These properties are to be interpreted by the jsp page using them. By default the bean is of type "org.apache.struts.tiles.beans.SimpleMenuItem". This bean is useful to create a list of beans used as menu items. classtype The fully qualified classtype for this bean. If specified, the classtype must be a subclass of the interface "org.apache.struts.tiles.beans.MenuItem". icon The bean 'icon' property. link The bean 'link' property. tooltip The bean 'tooltip' property. value The bean 'value' property. --> <!ELEMENT item (#PCDATA)> <!ATTLIST item id ID #IMPLIED> <!ATTLIST item classtype %ClassName; #IMPLIED> <!ATTLIST item icon CDATA #IMPLIED> <!ATTLIST item link CDATA #REQUIRED> <!ATTLIST item tooltip CDATA #IMPLIED> <!ATTLIST item value CDATA #REQUIRED> <!-- ========== Info Elements ====================================== --> <!-- The "description" element contains descriptive (paragraph length) text about the surrounding element, suitable for use in GUI tools. --> <!ELEMENT description (#PCDATA)> <!ATTLIST description id ID #IMPLIED> <!-- The "display-name" element contains a short (one line) description of the surrounding element, suitable for use in GUI tools. --> <!ELEMENT display-name (#PCDATA)> <!ATTLIST display-name id ID #IMPLIED> <!-- The "icon" element contains a small-icon and large-icon element which specify the location, relative to the Struts configuration file, for small and large images used to represent the surrounding element in GUI tools. --> <!ELEMENT icon (small-icon?, large-icon?)> <!ATTLIST icon id ID #IMPLIED> <!-- The "large-icon" element specifies the location, relative to the Struts configuration file, of a resource containing a large (32x32 pixel) icon image. --> <!ELEMENT large-icon (%Location;)> <!ATTLIST large-icon id ID #IMPLIED> <!-- The "small-icon" element specifies the location, relative to the Struts configuration file, of a resource containing a small (16x16 pixel) icon image. --> <!ELEMENT small-icon (%Location;)> <!ATTLIST small-icon id ID #IMPLIED> --- struts-config_1_2.dtd DELETED --- --- tiles-config_1_1.dtd DELETED --- Index: ehcache.xsd =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/dtd/ehcache.xsd,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** ehcache.xsd 12 Jun 2007 02:27:32 -0000 1.1 --- ehcache.xsd 1 Dec 2010 11:10:49 -0000 1.2 *************** *** 1,42 **** ! <?xml version="1.0" encoding="UTF-8"?> ! <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> ! <xs:element name="ehcache"> ! <xs:complexType> ! <xs:sequence> ! <xs:element ref="diskStore"/> ! <xs:element ref="defaultCache"/> ! <xs:element maxOccurs="unbounded" ref="cache"/> ! </xs:sequence> ! </xs:complexType> ! </xs:element> ! <xs:element name="diskStore"> ! <xs:complexType> ! <xs:attribute name="path" use="required" type="xs:NCName"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="defaultCache"> ! <xs:complexType> ! <xs:attribute name="eternal" use="required" type="xs:boolean"/> ! <xs:attribute name="maxElementsInMemory" use="required" type="xs:integer"/> ! <xs:attribute name="overflowToDisk" use="required" type="xs:boolean"/> ! <xs:attribute name="timeToIdleSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="timeToLiveSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="diskPersistent" use="optional" type="xs:boolean"/> ! <xs:attribute name="diskExpiryThreadIntervalSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="memoryStoreEvictionPolicy" use="optional" type="xs:NCName"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cache"> ! <xs:complexType> ! <xs:attribute name="eternal" use="required" type="xs:boolean"/> ! <xs:attribute name="maxElementsInMemory" use="required" type="xs:integer"/> ! <xs:attribute name="name" use="required" type="xs:NCName"/> ! <xs:attribute name="overflowToDisk" use="required" type="xs:boolean"/> ! <xs:attribute name="timeToIdleSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="timeToLiveSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="diskPersistent" use="optional" type="xs:boolean"/> ! <xs:attribute name="diskExpiryThreadIntervalSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="memoryStoreEvictionPolicy" use="optional" type="xs:NCName"/> ! </xs:complexType> ! </xs:element> </xs:schema> --- 1,171 ---- ! <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" version="1.7"> ! ! <xs:element name="ehcache" > ! <xs:complexType> ! <xs:sequence> ! <xs:element minOccurs="0" maxOccurs="1" ref="diskStore"/> ! <xs:element minOccurs="0" maxOccurs="1" ! ref="cacheManagerEventListenerFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ! ref="cacheManagerPeerProviderFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ! ref="cacheManagerPeerListenerFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ! ref="terracottaConfig"/> ! <xs:element ref="defaultCache"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cache"/> ! </xs:sequence> ! <xs:attribute name="name" use="optional"/> ! <xs:attribute name="updateCheck" use="optional" type="xs:boolean" default="true"/> ! <xs:attribute name="monitoring" use="optional" type="monitoringType" default="autodetect"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="diskStore"> ! <xs:complexType> ! <xs:attribute name="path" use="optional" /> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheManagerEventListenerFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheManagerPeerProviderFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheManagerPeerListenerFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="terracottaConfig"> ! <xs:complexType> ! <xs:sequence> ! <xs:element name="tc-config" minOccurs="0" maxOccurs="1"> ! <xs:complexType> ! <xs:sequence> ! <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip" /> ! </xs:sequence> ! </xs:complexType> ! </xs:element> ! </xs:sequence> ! <xs:attribute name="url" use="optional" default="localhost:9510"/> ! <xs:attribute name="registerStatsMBean" type="xs:boolean" use="optional"/> ! </xs:complexType> ! </xs:element> ! <!-- add clone support for addition of cacheExceptionHandler. Important! --> ! <xs:element name="defaultCache"> ! <xs:complexType> ! <xs:sequence> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/> ! </xs:sequence> ! <xs:attribute name="diskExpiryThreadIntervalSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="diskSpoolBufferSizeMB" use="optional" type="xs:integer"/> ! <xs:attribute name="diskPersistent" use="optional" type="xs:boolean"/> ! <xs:attribute name="eternal" use="required" type="xs:boolean"/> ! <xs:attribute name="maxElementsInMemory" use="required" type="xs:integer"/> ! <xs:attribute name="clearOnFlush" use="optional" type="xs:boolean"/> ! <xs:attribute name="memoryStoreEvictionPolicy" use="optional" type="xs:string"/> ! <xs:attribute name="overflowToDisk" use="required" type="xs:boolean"/> ! <xs:attribute name="timeToIdleSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="timeToLiveSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="maxElementsOnDisk" use="optional" type="xs:integer"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cache"> ! <xs:complexType> ! <xs:sequence > ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheEventListenerFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheExtensionFactory"/> ! <xs:element minOccurs="0" maxOccurs="unbounded" ref="cacheLoaderFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="bootstrapCacheLoaderFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="cacheExceptionHandlerFactory"/> ! <xs:element minOccurs="0" maxOccurs="1" ref="terracotta"/> ! </xs:sequence> ! <xs:attribute name="diskExpiryThreadIntervalSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="diskSpoolBufferSizeMB" use="optional" type="xs:integer"/> ! <xs:attribute name="diskPersistent" use="optional" type="xs:boolean"/> ! <xs:attribute name="eternal" use="required" type="xs:boolean"/> ! <xs:attribute name="maxElementsInMemory" use="required" type="xs:integer"/> ! <xs:attribute name="memoryStoreEvictionPolicy" use="optional" type="xs:string"/> ! <xs:attribute name="clearOnFlush" use="optional" type="xs:boolean"/> ! <xs:attribute name="name" use="required" type="xs:string"/> ! <xs:attribute name="overflowToDisk" use="required" type="xs:boolean"/> ! <xs:attribute name="timeToIdleSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="timeToLiveSeconds" use="optional" type="xs:integer"/> ! <xs:attribute name="maxElementsOnDisk" use="optional" type="xs:integer"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheEventListenerFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="bootstrapCacheLoaderFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheExtensionFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheExceptionHandlerFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="cacheLoaderFactory"> ! <xs:complexType> ! <xs:attribute name="class" use="required"/> ! <xs:attribute name="properties" use="optional"/> ! <xs:attribute name="propertySeparator" use="optional"/> ! </xs:complexType> ! </xs:element> ! <xs:element name="terracotta"> ! <xs:complexType> ! <xs:attribute name="clustered" use="optional" type="xs:boolean" default="true"/> ! <xs:attribute name="valueMode" use="optional" type="terracottaCacheValueType" default="serialization"/> ! <xs:attribute name="coherentReads" use="optional" type="xs:boolean" default="true"/> ! <xs:attribute name="localKeyCache" use="optional" type="xs:boolean" default="false"/> ! <xs:attribute name="localKeyCacheSize" use="optional" type="xs:positiveInteger" default="10000"/> ! <xs:attribute name="orphanEviction" use="optional" type="xs:boolean" default="true"/> ! <xs:attribute name="orphanEvictionPeriod" use="optional" type="xs:positiveInteger" default="4"/> ! </xs:complexType> ! </xs:element> ! <xs:simpleType name="monitoringType"> ! <xs:restriction base="xs:string"> ! <xs:enumeration value="autodetect" /> ! <xs:enumeration value="on" /> ! <xs:enumeration value="off" /> ! </xs:restriction> ! </xs:simpleType> ! <xs:simpleType name="terracottaCacheValueType"> ! <xs:restriction base="xs:string"> ! <xs:enumeration value="serialization" /> ! <xs:enumeration value="identity" /> ! </xs:restriction> ! </xs:simpleType> </xs:schema> --- NEW FILE: struts-config_1_3.dtd --- <!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additional information regarding copyright ownership. The ASF licenses this file to You 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. --> <!-- DTD for the Struts Application Configuration File To support validation of your configuration file, include the following DOCTYPE element at the beginning (after the "xml" declaration): <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> $Id: struts-config_1_3.dtd,v 1.2 2010/12/01 11:10:49 tomas13 Exp $ --> <!-- ========== Defined Types ============================================= --> <!-- An "AttributeName" is the identifier of a page, request, session, or application scope attribute. --> <!ENTITY % AttributeName "CDATA"> <!-- A "BeanName" is the identifier of a JavaBean, such as a form bean, and also serves as the name of the corresponding scripting variable and the name of the JSP attribute under which the bean is accessed. Therefore, it must conform to the rules for a Java identifier. --> <!ENTITY % BeanName "CDATA"> <!-- A "Boolean" is the string representation of a boolean (true or false) variable. --> <!ENTITY % Boolean "(true|false|yes|no)"> <!-- A "ClassName" is the fully qualified name of a Java class that is instantiated to provide the functionality of the enclosing element. --> <!ENTITY % ClassName "CDATA"> <!-- An "Integer" is a character string consisting solely of numeric digits, optionally preceeded by a minus sign, that can be converted to a 32-bit integer. --> <!ENTITY % Integer "CDATA"> <!-- A "Location" is a relative path, delimited by "/" characters, that defines the location of a resource relative to the location of the Struts configuration file itself. --> <!ENTITY % Location "#PCDATA"> <!-- A "PropName" is the name of a JavaBeans property, and must begin with a lower case letter and contain only characters that are legal in a Java identifier. --> <!ENTITY % PropName "CDATA"> <!-- A "RequestPath" is an module-relative URI path, beginning with a slash, that identifies a mapped resource (such as a JSP page or a servlet) within this web application. --> <!ENTITY % RequestPath "CDATA"> <!-- The name of a JSP bean scope within which such a form bean may be accessed. --> <!ENTITY % RequestScope "(request|session)"> <!-- ========== Top Level Elements ======================================== --> <!-- The "struts-config" element is the root of the configuration file hierarchy, and contains nested elements for all of the other configuration settings. --> <!ELEMENT struts-config (display-name?, description?, form-beans?, global-exceptions?, global-forwards?, action-mappings?, controller?, message-resources*, plug-in*)> <!ATTLIST struts-config id ID #IMPLIED> <!-- The "form-beans" element describes the set of form bean descriptors for this module. The following attributes are defined: type Fully qualified Java class to use when instantiating ActionFormBean objects. If specified, the object must be a subclass of the default class type. WARNING: For Struts 1.0, this value is ignored. You can set the default implementation class name with the "formBean" initialization parameter to the Struts controller servlet. --> <!ELEMENT form-beans (form-bean*)> <!ATTLIST form-beans id ID #IMPLIED> <!ATTLIST form-beans type %ClassName; #IMPLIED> <!-- The "form-bean" element describes an ActionForm subclass [org.apache.struts.action.ActionForm] that can be referenced by an "action" element. The "form-bean" element describes a particular form bean, which is a JavaBean that implements the org.apache.struts.action.ActionForm class. The following attributes are defined: className The configuration bean for this form bean object. If specified, the object must be a subclass of the default configuration bean. ["org.apache.struts.config.FormBeanConfig"] extends The name of the form bean that this bean will inherit configuration information from. name The unique identifier for this form bean. Referenced by the <action> element to specify which form bean to use with its request. type Fully qualified Java class name of the ActionForm subclass to use with this form bean. enhanced Reserved for future use. --> <!ELEMENT form-bean (icon?, display-name?, description?, set-property*, form-property*)> <!ATTLIST form-bean id ID #IMPLIED> <!ATTLIST form-bean className %ClassName; #IMPLIED> <!ATTLIST form-bean enhanced %Boolean; #IMPLIED> <!ATTLIST form-bean extends %BeanName; #IMPLIED> <!ATTLIST form-bean name %BeanName; #REQUIRED> <!ATTLIST form-bean type %ClassName; #IMPLIED> <!-- The "form-property" element describes a JavaBean property that can be used to configure an instance of a DynaActionForm or a subclass thereof. This element is only utilized when the "type" attribute of the enclosing "form-bean" element is [org.apache.struts.action.DynaActionForm] or a subclass of DynaActionForm. If a custom DynaActionForm subclass is used, then the "dynamic" attribute of the enclosing <form-bean> element must be set to "true". Since Struts 1.1. className The configuration bean for this form property object. If specified, the object must be a subclass of the default configuration bean. ["org.apache.struts.config.FormPropertyConfig"] initial String representation of the initial value for this property. If not specified, primitives will be initialized to zero and objects initialized to the zero-argument instantiation of that object class. For example, Strings will be initialized to "" name The name of the JavaBean property described by this element. reset The flag that indicates when this property should be reset to its "initial" value when the form's "reset()" method is called. If this is set to "true", the property is always reset when "reset()" is called. This can also be set to one or more HTTP methods, such as GET or POST. In such a case, the property will be reset only when the HTTP method used for the request being processed is included in this attribute's value(s). Multiple HTTP methods can be specified by separating them with whitespace or commas. size The number of array elements to create if the value of the "type" attribute specifies an array, but there is no value specified for the "initial" attribute. type Fully qualified Java class name of the field underlying this property, optionally followed by "[]" to indicate that the field is indexed. --> <!ELEMENT form-property (set-property*)> <!ATTLIST form-property className %ClassName; #IMPLIED> <!ATTLIST form-property initial CDATA #IMPLIED> <!ATTLIST form-property name %PropName; #REQUIRED> <!ATTLIST form-property reset %Boolean; #IMPLIED> <!ATTLIST form-property size %Integer; #IMPLIED> <!ATTLIST form-property type %ClassName; #REQUIRED> <!-- The "global-exceptions" element describes a set of exceptions that might be thrown by an Action object. The handling of individual exception types is configured through nested exception elements. An <action> element may override a global exception handler by registering a local exception handler for the same exception type. Since Struts 1.1. --> <!ELEMENT global-exceptions (exception*)> <!ATTLIST global-exceptions id ID #IMPLIED> <!-- The "exception" element registers an ExceptionHandler for an exception type. The following attributes are defined: bundle Servlet context attribute for the message resources bundle associated with this handler. The default attribute is the value specified by the string constant declared at Globals.MESSAGES_KEY. [org.apache.struts.Globals.MESSAGES_KEY] className The configuration bean for this ExceptionHandler object. If specified, className must be a subclass of the default configuration bean ["org.apache.struts.config.ExceptionConfig"] extends The name of the exception handler that this will inherit configuration information from. handler Fully qualified Java class name for this exception handler. ["org.apache.struts.action.ExceptionHandler"] key The key to use with this handler's message resource bundle that will retrieve the error message template for this exception. path The module-relative URI to the resource that will complete the request/response if this exception occurs. scope The context ("request" or "session") that is used to access the ActionMessage object [org.apache.struts.action.ActionMessage] for this exception. type Fully qualified Java class name of the exception type to register with this handler. --> <!ELEMENT exception (icon?, display-name?, description?, set-property*)> <!ATTLIST exception id ID #IMPLIED> <!ATTLIST exception bundle %AttributeName; #IMPLIED> <!ATTLIST exception className %ClassName; #IMPLIED> <!ATTLIST exception extends %ClassName; #IMPLIED> <!ATTLIST exception handler %ClassName; #IMPLIED> <!ATTLIST exception key CDATA #IMPLIED> <!ATTLIST exception path %RequestPath; #IMPLIED> <!ATTLIST exception scope CDATA #IMPLIED> <!ATTLIST exception type %ClassName; #REQUIRED> <!-- The "global-forwards" element describes a set of ActionForward objects [org.apache.struts.action.ActionForward] that are available to all Action objects as a return value. The individual ActionForwards are configured through nested <forward> elements. An <action> element may override a global forward by defining a local <forward> of the same name. type Fully qualified Java class to use when instantiating ActionForward objects. If specified, the object must be a subclass of the default class type. WARNING: For Struts 1.0, this value is ignored. You can set the default implementation class name with the "forward" initialization parameter to the Struts controller servlet. --> <!ELEMENT global-forwards (forward*)> <!ATTLIST global-forwards id ID #IMPLIED> <!ATTLIST global-forwards type %ClassName; #IMPLIED> <!-- The "forward" element describes an ActionForward that is to be made available to an Action as a return value. An ActionForward is referenced by a logical name and encapsulates a URI. A "forward" element may be used to describe both global and local ActionForwards. Global forwards are available to all the Action objects in the module. Local forwards can be nested within an <action> element and only available to an Action object when it is invoked through that ActionMapping. catalog The name of a commons-chain catalog in which to look up a command to be executed as part of servicing this request. Only meaningful if "command" is also specified. className Fully qualified Java class name of ActionForward subclass to use for this object. ["org.apache.struts.action.ActionForward"] command The name of a commons-chain command which should be looked up and executed as part of servicing this request. extends The name of the forward configuration that this will inherit configuration information from. module The module prefix to use with this path. This value should begin with a slash ("/"). name The unique identifier for this forward. Referenced by the Action object at runtime to select - by its logical name - the resource that should complete the request/response. path The module-relative path to the resources that is encapsulated by the logical name of this ActionForward. This value should begin with a slash ("/") character. redirect Set to "true" if a redirect instruction should be issued to the user-agent so that a new request is issued for this forward's resource. If true, RequestDispatcher.Redirect is called. If "false", RequestDispatcher.forward is called instead. [false] --> <!ELEMENT forward (icon?, display-name?, description?, set-property*)> <!ATTLIST forward id ID #IMPLIED> <!ATTLIST forward catalog CDATA #IMPLIED> <!ATTLIST forward className %ClassName; #IMPLIED> <!ATTLIST forward command CDATA #IMPLIED> <!ATTLIST forward extends CDATA #IMPLIED> <!ATTLIST forward module %RequestPath; #IMPLIED> <!ATTLIST forward name CDATA #REQUIRED> <!ATTLIST forward path %RequestPath; #IMPLIED> <!ATTLIST forward redirect %Boolean; #IMPLIED> <!-- The "action-mappings" element describes a set of ActionMapping objects [org.apache.struts.action.ActionMapping] that are available to process requests matching the url-pattern our ActionServlet registered with the container. The individual ActionMappings are configured through nested <action> elements. The following attributes are defined: type Fully qualified Java class to use when instantiating ActionMapping objects. If specified, the object must be a subclass of the default class type. WARNING: For Struts 1.0, this value is ignored. You can set the default implementation class name with the "mapping" initialization parameter to the Struts controller servlet. --> <!ELEMENT action-mappings (action*)> <!ATTLIST action-mappings id ID #IMPLIED> <!ATTLIST action-mappings type %ClassName; #IMPLIED> <!-- The "action" element describes an ActionMapping object that is to be used to process a request for a specific module-relative URI. The following attributes are defined: attribute Name of the request-scope or session-scope attribute that is used to access our ActionForm bean, if it is other than the bean's specified "name". Optional if "name" is specified, else not valid. cancellable Set to "true" if the Action can be cancelled. By default, when an Action is cancelled, validation is bypassed and the Action should not execute the business operation. If a request tries to cancel an Action when cancellable is not set, a "InvalidCancelException" is thrown. [false] catalog The name of a commons-chain catalog in which to look up a command to be executed as part of servicing this request. Only meaningful if "command" is also specified. className The fully qualified Java class name of the ActionMapping subclass to use for this action mapping object. Defaults to the type specified by the enclosing <action-mappings> element or to "org.apache.struts.action.ActionMapping" if not specified. ["org.apache.struts.action.ActionMapping"] command The name of a commons-chain command which should be looked up and executed as part of servicing this request. extends The path of the action mapping configuration that this will inherit configuration information from. forward Module-relative path of the servlet or other resource that will process this request, instead of the Action class specified by "type". The path WILL NOT be processed through the "forwardPattern" attribute that is configured on the "controller" element for this module. Exactly one of "forward", "include", or "type" must be specified. include Module-relative path of the servlet or other resource that will process this request, instead of the Action class specified by "type". The path WILL NOT be processed through the "forwardPattern" attribute that is configured on the "controller" element for this module. Exactly one of "forward", "include", or "type" must be specified. input Module-relative path of the action or other resource to which control should be returned if a validation error is encountered. Valid only when "name" is specified. Required if "name" is specified and the input bean returns validation errors. Optional if "name" is specified and the input bean does not return validation errors. name Name of the form bean, if any, that is associated with this action mapping. parameter General-purpose configuration parameter that can be used to pass extra information to the Action object selected by ... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/timegrid In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/webutil/timegrid Modified Files: TimetableGridCell.java PdfExamGridTable.java TimetableGridModel.java ExamGridTable.java PdfTimetableGridTable.java SolutionGridModel.java SolverGridModel.java TimetableGridTable.java PdfEventGridTable.java EventGridTable.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: TimetableGridTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/timegrid/TimetableGridTable.java,v retrieving revision 1.10 retrieving revision 1.11 diff -C2 -d -r1.10 -r1.11 *** TimetableGridTable.java 8 Sep 2010 15:33:33 -0000 1.10 --- TimetableGridTable.java 1 Dec 2010 11:10:48 -0000 1.11 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil.timegrid; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil.timegrid; *************** *** 32,35 **** --- 32,36 ---- import java.util.Vector; + import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpSession; import javax.servlet.jsp.JspWriter; *************** *** 40,43 **** --- 41,46 ---- import org.unitime.commons.web.Web; import org.unitime.timetable.ApplicationProperties; + import org.unitime.timetable.gwt.server.Query.TermMatcher; + import org.unitime.timetable.interfaces.RoomAvailabilityInterface; import org.unitime.timetable.model.DatePattern; import org.unitime.timetable.model.Department; *************** *** 54,57 **** --- 57,61 ---- import org.unitime.timetable.util.Constants; import org.unitime.timetable.util.DateUtils; + import org.unitime.timetable.util.RoomAvailability; /** *************** *** 128,131 **** --- 132,137 ---- private boolean iShowUselessTimes = false; private boolean iShowInstructors = false; + private boolean iShowEvents = false; + private org.unitime.timetable.gwt.server.Query iQuery = null; private String iDefaultDatePatternName = null; *************** *** 143,147 **** public void setResourceType(int resourceType) { iResourceType = resourceType; } public String getFindString() { return iFindStr; } ! public void setFindString(String findSrt) { iFindStr = findSrt;} public int getOrderBy() { return iOrderBy; } public void setOrderBy(int orderBy) { iOrderBy = orderBy; } --- 149,156 ---- public void setResourceType(int resourceType) { iResourceType = resourceType; } public String getFindString() { return iFindStr; } ! public void setFindString(String findSrt) { ! iFindStr = findSrt; ! iQuery = (findSrt == null ? null : new org.unitime.timetable.gwt.server.Query(findSrt)); ! } public int getOrderBy() { return iOrderBy; } public void setOrderBy(int orderBy) { iOrderBy = orderBy; } *************** *** 152,163 **** public boolean getShowInstructors() { return iShowInstructors; } public void setShowInstructors(boolean showInstructors) { iShowInstructors = showInstructors; } ! public Vector getWeeks(HttpSession httpSession) throws Exception { Vector weeks = new Vector(); weeks.addElement(new IdValue(new Long(-100),"All weeks")); Session session = Session.getCurrentAcadSession(Web.getUser(httpSession)); ! int startWeek = DateUtils.getWeek(session.getSessionBeginDateTime())-(Session.sNrExcessDays/7); Calendar endCal = Calendar.getInstance(Locale.US); endCal.setTime(session.getSessionEndDateTime()); ! endCal.add(Calendar.DAY_OF_YEAR, Session.sNrExcessDays); int week = startWeek; while (DateUtils.getStartDate(session.getSessionStartYear(),week).compareTo(endCal.getTime()) <= 0) { --- 161,174 ---- public boolean getShowInstructors() { return iShowInstructors; } public void setShowInstructors(boolean showInstructors) { iShowInstructors = showInstructors; } ! public boolean getShowEvents() { return iShowEvents; } ! public void setShowEvents(boolean showEvents) { iShowEvents = showEvents; } ! public Vector getWeeks(HttpSession httpSession) throws Exception { Vector weeks = new Vector(); weeks.addElement(new IdValue(new Long(-100),"All weeks")); Session session = Session.getCurrentAcadSession(Web.getUser(httpSession)); ! int startWeek = DateUtils.getWeek(session.getSessionBeginDateTime()) - (Integer.parseInt(ApplicationProperties.getProperty("unitime.session.nrExcessDays", "0"))/7); Calendar endCal = Calendar.getInstance(Locale.US); endCal.setTime(session.getSessionEndDateTime()); ! endCal.add(Calendar.DAY_OF_YEAR, Integer.parseInt(ApplicationProperties.getProperty("unitime.session.nrExcessDays", "0"))); int week = startWeek; while (DateUtils.getStartDate(session.getSessionStartYear(),week).compareTo(endCal.getTime()) <= 0) { *************** *** 305,309 **** for (int day=startDay(); day<=endDay(); day++) { boolean eol = (day==endDay()); ! out.println("<th width='40' height='40' colspan='"+(1+model.getMaxIdxForDay(day,firstSlot(),lastSlot()))+"'class='TimetableHeadCellVertical"+(eol?"EOL":"")+"'>"); out.println(Constants.DAY_NAME[day]); out.println("</th>"); --- 316,320 ---- for (int day=startDay(); day<=endDay(); day++) { boolean eol = (day==endDay()); ! out.println("<th colspan='"+(1+model.getMaxIdxForDay(day,firstSlot(),lastSlot()))+"'class='TimetableHeadCellVertical"+(eol?"EOL":"")+"'>"); out.println(Constants.DAY_NAME[day]); out.println("</th>"); *************** *** 315,319 **** boolean eod = (slot+sNrSlotsPerPeriod-1==lastSlot()); boolean eol = (eod && (isDispModePerWeek() || day==endDay())); ! out.println("<th width='40' height='40' colspan='"+sNrSlotsPerPeriod+"' class='Timetable" + (rowNumber==0?"Head":"") + "Cell" + (eol?"EOL":eod?"EOD":"") + "'>"); if (isDispModeInRow()) out.println(Constants.DAY_NAME[day]+"<br>"); --- 326,330 ---- boolean eod = (slot+sNrSlotsPerPeriod-1==lastSlot()); boolean eol = (eod && (isDispModePerWeek() || day==endDay())); ! out.println("<th colspan='"+sNrSlotsPerPeriod+"' class='Timetable" + (rowNumber==0?"Head":"") + "Cell" + (eol?"EOL":eod?"EOD":"") + "'>"); if (isDispModeInRow()) out.println(Constants.DAY_NAME[day]+"<br>"); *************** *** 326,341 **** } ! private void getMouseOverAndMouseOut(StringBuffer onMouseOver, StringBuffer onMouseOut, TimetableGridCell cell, String bgColor, boolean changeMouse) { if (cell==null) return; onMouseOver.append(" onmouseover=\""); onMouseOut.append(" onmouseout=\""); ! if (isDispModePerWeek()) { for (int i=0;i<cell.getNrMeetings();i++) { onMouseOver.append("if (document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"')!=null) document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"').style.backgroundColor='rgb(223,231,242)';"); onMouseOut.append("if (document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"')!=null) document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"').style.backgroundColor='"+(bgColor==null?"transparent":bgColor)+"';"); } } ! if (changeMouse) onMouseOver.append("this.style.cursor='hand';this.style.cursor='pointer';"); onMouseOver.append("\" "); onMouseOut.append("\" "); --- 337,369 ---- } ! private void getMouseOverAndMouseOut(StringBuffer onMouseOver, StringBuffer onMouseOut, StringBuffer onClick, TimetableGridCell cell, String bgColor) { if (cell==null) return; onMouseOver.append(" onmouseover=\""); onMouseOut.append(" onmouseout=\""); ! if (isDispModePerWeek() && cell.getAssignmentId() >= 0) { for (int i=0;i<cell.getNrMeetings();i++) { onMouseOver.append("if (document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"')!=null) document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"').style.backgroundColor='rgb(223,231,242)';"); onMouseOut.append("if (document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"')!=null) document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"').style.backgroundColor='"+(bgColor==null?"transparent":bgColor)+"';"); } + } else { + onMouseOver.append("this.style.backgroundColor='rgb(223,231,242)';"); + onMouseOut.append("this.style.backgroundColor='"+(bgColor==null?"transparent":bgColor)+"';"); } ! if (cell.getOnClick() != null && !cell.getOnClick().isEmpty()) { onMouseOver.append("this.style.cursor='hand';this.style.cursor='pointer';"); + onClick.append(" onclick=\"hideGwtHint();"); + if (isDispModePerWeek() && cell.getAssignmentId() >= 0) { + for (int i=0;i<cell.getNrMeetings();i++) { + onClick.append("if (document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"')!=null) document.getElementById('"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+i+"').style.backgroundColor='"+(bgColor==null?"transparent":bgColor)+"';"); + } + } else { + onClick.append("this.style.backgroundColor='"+(bgColor==null?"transparent":bgColor)+"';"); + } + onClick.append(cell.getOnClick() + "\""); + } + if (cell.getTitle() != null && !cell.getTitle().isEmpty()) { + onMouseOver.append("showGwtHint(this,'" + cell.getTitle() + "');"); + onMouseOut.append("hideGwtHint();"); + } onMouseOver.append("\" "); onMouseOut.append("\" "); *************** *** 350,354 **** if (isDispModeInRow()) { int maxIdx = model.getMaxIdx(startDay(),endDay(),firstSlot(),lastSlot()); ! out.println("<th width='40' height='40' rowspan='"+(1+maxIdx)+"' class='Timetable" + (rowNumber%10==0?"Head":"") + "Cell'>"); out.println(model.getName()+(model.getSize()>0?" ("+model.getSize()+")":"")); out.println("</th>"); --- 378,382 ---- if (isDispModeInRow()) { int maxIdx = model.getMaxIdx(startDay(),endDay(),firstSlot(),lastSlot()); ! out.println("<th rowspan='"+(1+maxIdx)+"' class='Timetable" + (rowNumber%10==0?"Head":"") + "Cell'>"); out.println(model.getName()+(model.getSize()>0?" ("+model.getSize()+")":"")); out.println("</th>"); *************** *** 389,402 **** StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, cell, bgColor, cell.getOnClick()!=null); out.println("<td nowrap "+(bgColor==null?"":"style='background-color:"+bgColor+"' ")+ " class='TimetableCell"+(eol?"EOL":eod?"EOD":"")+"' "+ "align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpan+"' "+ - (cell.getOnClick()==null?"":"onclick=\""+cell.getOnClick()+"\" ")+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ onMouseOver + onMouseOut + ! (cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); --- 417,431 ---- StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! StringBuffer onClick = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, onClick, cell, bgColor); out.println("<td nowrap "+(bgColor==null?"":"style='background-color:"+bgColor+"' ")+ " class='TimetableCell"+(eol?"EOL":eod?"EOD":"")+"' "+ "align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpan+"' "+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ + onClick + onMouseOver + onMouseOut + ! //(cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); *************** *** 420,424 **** out.println("</tr><tr valign='top'>"); int maxIdx = model.getMaxIdxForDay(day,firstSlot(),lastSlot()); ! out.println("<th width='40' height='40' rowspan='"+(1+maxIdx)+"' class='TimetableCell'>"+Constants.DAY_NAME[day]+"</th>"); for (int idx=0;idx<=maxIdx;idx++) { if (idx>0) --- 449,453 ---- out.println("</tr><tr valign='top'>"); int maxIdx = model.getMaxIdxForDay(day,firstSlot(),lastSlot()); ! out.println("<th rowspan='"+(1+maxIdx)+"' class='TimetableCell'>"+Constants.DAY_NAME[day]+"</th>"); for (int idx=0;idx<=maxIdx;idx++) { if (idx>0) *************** *** 457,470 **** StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, cell, bgColor, cell.getOnClick()!=null); out.println("<td nowrap "+(bgColor==null?"":"style='background-color:"+bgColor+"' ")+ " class='TimetableCell"+(eol?"EOL":eod?"EOD":"")+"' "+ "align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpan+"' "+ - (cell.getOnClick()==null?"":"onclick=\""+cell.getOnClick()+"\" ")+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ onMouseOver + onMouseOut + ! (cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); --- 486,500 ---- StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! StringBuffer onClick = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, onClick, cell, bgColor); out.println("<td nowrap "+(bgColor==null?"":"style='background-color:"+bgColor+"' ")+ " class='TimetableCell"+(eol?"EOL":eod?"EOD":"")+"' "+ "align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpan+"' "+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ + onClick + onMouseOver + onMouseOut + ! //(cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); *************** *** 490,496 **** int slotsToEnd = lastSlot()-slot+1; if (((slot-firstSlot())%sNrSlotsPerPeriod) == 0) { ! out.println("<th width='40' height='40' class='TimetableHeadCell"+(slot==firstSlot()?"":"In")+"Vertical'>" + Constants.toTime(time) + "</th>"); } else { ! out.println("<th width='40' height='40' class='TimetableHeadCellInVertical'> </th>"); } for (int day=startDay();day<=endDay();day++) { --- 520,526 ---- int slotsToEnd = lastSlot()-slot+1; if (((slot-firstSlot())%sNrSlotsPerPeriod) == 0) { ! out.println("<th class='TimetableHeadCell"+(slot==firstSlot()?"":"In")+"Vertical'>" + Constants.toTime(time) + "</th>"); } else { ! out.println("<th class='TimetableHeadCellInVertical'> </th>"); } for (int day=startDay();day<=endDay();day++) { *************** *** 521,525 **** StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, cell, bgColor, cell.getOnClick()!=null); boolean eol = (day==endDay()); out.println("<td nowrap "+ --- 551,556 ---- StringBuffer onMouseOver = new StringBuffer(); StringBuffer onMouseOut = new StringBuffer(); ! StringBuffer onClick = new StringBuffer(); ! getMouseOverAndMouseOut(onMouseOver, onMouseOut, onClick, cell, bgColor); boolean eol = (day==endDay()); out.println("<td nowrap "+ *************** *** 527,534 **** "class='TimetableCell"+(slot==firstSlot()?"":"In")+"Vertical" + (eol?"EOL":"")+ "' align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpanDivStep+"' "+ - (cell.getOnClick()==null?"":"onclick=\""+cell.getOnClick()+"\" ")+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ ! onMouseOver + onMouseOut + ! (cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); --- 558,564 ---- "class='TimetableCell"+(slot==firstSlot()?"":"In")+"Vertical" + (eol?"EOL":"")+ "' align='center' "+ "colspan='"+colSpan+"' rowSpan='"+rowSpanDivStep+"' "+ (cell.getAssignmentId()>=0?"id='"+cell.getAssignmentId()+"."+cell.getRoomId()+"."+cell.getMeetingNumber()+"' ":"")+ ! onClick + onMouseOver + onMouseOut + ! //(cell.getTitle()==null?"":"title=\""+cell.getTitle()+"\" ")+ ">"); out.print(cell.getName()); *************** *** 552,556 **** } ! private boolean match(String name) { if (getFindString()==null || getFindString().trim().length()==0) return true; StringTokenizer stk = new StringTokenizer(getFindString().toUpperCase()," ,"); --- 582,604 ---- } ! private boolean match(final String name) { ! return iQuery == null || iQuery.match(new TermMatcher() { ! @Override ! public boolean match(String attr, String term) { ! if (term.isEmpty()) return true; ! if (attr == null) { ! for (StringTokenizer s = new StringTokenizer(name, " ,"); s.hasMoreTokens(); ) { ! String token = s.nextToken(); ! if (term.equalsIgnoreCase(token)) return true; ! } ! } else if ("regex".equals(attr) || "regexp".equals(attr) || "re".equals(attr)) { ! return name.matches(term); ! } else if ("find".equals(attr)) { ! return name.toLowerCase().indexOf(term.toLowerCase()) >= 0; ! } ! return false; ! } ! }); ! /* if (getFindString()==null || getFindString().trim().length()==0) return true; StringTokenizer stk = new StringTokenizer(getFindString().toUpperCase()," ,"); *************** *** 561,565 **** if (n.indexOf(token)<0) return false; } ! return true; } --- 609,613 ---- if (n.indexOf(token)<0) return false; } ! return true;*/ } *************** *** 575,588 **** } ! public boolean reload(HttpSession session) throws Exception { if (iModels!=null) iModels.clear(); Session acadSession = Session.getCurrentAcadSession(Web.getUser(session)); DatePattern defaultDatePattern = acadSession.getDefaultDatePatternNotNull(); iDefaultDatePatternName = (defaultDatePattern==null?null:defaultDatePattern.getName()); SolverProxy solver = WebSolver.getSolver(session); ! //TODO: checked OK, tested OK --- really ???? ! int startDay = (getWeek()==-100?-1:DateUtils.getFirstDayOfWeek(acadSession.getSessionStartYear(),getWeek())-acadSession.getDayOfYear(1, acadSession.getStartMonth() - 3)-1); if (solver!=null) { ! iModels = solver.getTimetableGridTables(getFindString(), getResourceType(), startDay, getBgMode()); Collections.sort(iModels,new TimetableGridModelComparator()); showUselessTimesIfDesired(); --- 623,636 ---- } ! public boolean reload(HttpServletRequest request) throws Exception { if (iModels!=null) iModels.clear(); + HttpSession session = request.getSession(); Session acadSession = Session.getCurrentAcadSession(Web.getUser(session)); DatePattern defaultDatePattern = acadSession.getDefaultDatePatternNotNull(); iDefaultDatePatternName = (defaultDatePattern==null?null:defaultDatePattern.getName()); SolverProxy solver = WebSolver.getSolver(session); ! int startDay = (getWeek()==-100?-1:DateUtils.getFirstDayOfWeek(acadSession.getSessionStartYear(),getWeek())-acadSession.getDayOfYear(1,acadSession.getPatternStartMonth())-1); if (solver!=null) { ! iModels = solver.getTimetableGridTables(getFindString(), getResourceType(), startDay, getBgMode(), getShowEvents()); Collections.sort(iModels,new TimetableGridModelComparator()); showUselessTimesIfDesired(); *************** *** 599,602 **** --- 647,665 ---- if (getResourceType()==TimetableGridModel.sResourceTypeRoom) { + if (RoomAvailability.getInstance() != null) { + Calendar startDateCal = Calendar.getInstance(Locale.US); + startDateCal.setTime(DateUtils.getDate(1, acadSession.getStartMonth(), acadSession.getSessionStartYear())); + startDateCal.set(Calendar.HOUR_OF_DAY, 0); + startDateCal.set(Calendar.MINUTE, 0); + startDateCal.set(Calendar.SECOND, 0); + Calendar endDateCal = Calendar.getInstance(Locale.US); + endDateCal.setTime(DateUtils.getDate(0, acadSession.getEndMonth() + 1, acadSession.getSessionStartYear())); + endDateCal.set(Calendar.HOUR_OF_DAY, 23); + endDateCal.set(Calendar.MINUTE, 59); + endDateCal.set(Calendar.SECOND, 59); + RoomAvailability.getInstance().activate(acadSession, startDateCal.getTime(), endDateCal.getTime(), RoomAvailabilityInterface.sClassType, false); + RoomAvailability.setAvailabilityWarning(request, acadSession, true, true); + } + Query q = hibSession.createQuery( "select distinct r from "+ *************** *** 607,611 **** Location room = (Location)i.next(); if (!match(room.getLabel())) continue; ! iModels.add(new SolutionGridModel(solutionIdsStr, room, hibSession,startDay,getBgMode())); } } else if (getResourceType()==TimetableGridModel.sResourceTypeInstructor) { --- 670,674 ---- Location room = (Location)i.next(); if (!match(room.getLabel())) continue; ! iModels.add(new SolutionGridModel(solutionIdsStr, room, hibSession, startDay, getBgMode(), getShowEvents())); } } else if (getResourceType()==TimetableGridModel.sResourceTypeInstructor) { *************** *** 637,641 **** String name = dept.getAbbreviation(); if (!match(name)) continue; ! iModels.add(new SolutionGridModel(solutionIdsStr, dept, hibSession,startDay,getBgMode())); } } --- 700,704 ---- String name = dept.getAbbreviation(); if (!match(name)) continue; ! iModels.add(new SolutionGridModel(solutionIdsStr, dept, hibSession, startDay, getBgMode())); } } *************** *** 692,761 **** } if (iBgMode==TimetableGridModel.sBgModeTimePref) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required time</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly preferred time</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Preferred time</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No time preference</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged time</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged time</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited time</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeRoomPref) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly preferred room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Preferred room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No room preference</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited room</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeStudentConf) { for (int nrConflicts=0;nrConflicts<=15;nrConflicts++) { String color = TimetableGridCell.conflicts2color(nrConflicts); ! out.println("<tr><td width=40 style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+nrConflicts+" "+(nrConflicts==15?"or more ":"")+"student conflicts</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeInstructorBtbPref) { out.println("<tr><td idth=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No instructor back-to-back preference <i>(distance=0)</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged back-to-back <i>(0<distance<=5)</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged back-to-back <i>(5<distance<=20)</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited back-to-back <i>(20<distance)</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeDistributionConstPref) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No violated constraint<i>(distance=0)</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged/preferred constraint violated</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged/preferred constraint violated</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Required/prohibited constraint violated</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModePerturbations) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>No change</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No initial assignment</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Room changed</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Time changed</i></td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Both time and room changed</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModePerturbationPenalty) { for (int nrConflicts=0;nrConflicts<=15;nrConflicts++) { String color = TimetableGridCell.conflicts2color(nrConflicts); ! out.println("<tr><td width=40 style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+(nrConflicts==0?"Zero perturbation penalty":nrConflicts==15?"Perturbation penalty above 15":"Perturbation penalty below or equal to "+nrConflicts)+"</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeHardConflicts) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required time and room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room with no hard conflict</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room (but there is a hard conflict), can be moved in time with no conflict</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room (but there is a hard conflict)</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in time with no hard conflict, cannot be moved in room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in time (but there is a hard conflict), cannot be moved in room</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeDepartmentalBalancing) { for (int nrConflicts=0;nrConflicts<=3;nrConflicts++) { String color = TimetableGridCell.conflicts2colorFast(nrConflicts); ! out.println("<tr><td width=40 style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+(nrConflicts==0?"Zero penalty":nrConflicts==3?"Penalty equal or above 3":"Penalty equal to "+nrConflicts)+"</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeTooBigRooms) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is smaller than room limit of a class</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is not more than 25% bigger than the smallest avaialable room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is not more than 50% bigger than the smallest avaialable room</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is more than 50% bigger than the smallest avaialable room</td><td></td></tr>"); } out.println("<tr><td colspan='2'>Free times:</td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.sBgColorNotAvailable+";border:1px solid rgb(0,0,0)'> </td><td>Time not available</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No preference</td><td></td></tr>"); if (iShowUselessTimes) { ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Standard (MWF or TTh) time pattern is broken (time cannot be used for MW, WF, MF or TTh class)</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Useless half-hour</td><td></td></tr>"); ! out.println("<tr><td width=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Useless half-hour and broken standard time pattern</td><td></td></tr>"); } } --- 755,824 ---- } if (iBgMode==TimetableGridModel.sBgModeTimePref) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required time</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly preferred time</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Preferred time</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No time preference</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged time</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged time</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited time</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeRoomPref) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly preferred room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Preferred room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No room preference</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited room</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeStudentConf) { for (int nrConflicts=0;nrConflicts<=15;nrConflicts++) { String color = TimetableGridCell.conflicts2color(nrConflicts); ! out.println("<tr><td width='40' style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+nrConflicts+" "+(nrConflicts==15?"or more ":"")+"student conflicts</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeInstructorBtbPref) { out.println("<tr><td idth=40 style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No instructor back-to-back preference <i>(distance=0)</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged back-to-back <i>(0<distance<=5)</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged back-to-back <i>(5<distance<=20)</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Prohibited back-to-back <i>(20<distance)</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeDistributionConstPref) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No violated constraint<i>(distance=0)</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Discouraged/preferred constraint violated</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Strongly discouraged/preferred constraint violated</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Required/prohibited constraint violated</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModePerturbations) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>No change</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No initial assignment</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Room changed</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Time changed</i></td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Both time and room changed</i></td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModePerturbationPenalty) { for (int nrConflicts=0;nrConflicts<=15;nrConflicts++) { String color = TimetableGridCell.conflicts2color(nrConflicts); ! out.println("<tr><td width='40' style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+(nrConflicts==0?"Zero perturbation penalty":nrConflicts==15?"Perturbation penalty above 15":"Perturbation penalty below or equal to "+nrConflicts)+"</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeHardConflicts) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Required time and room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room with no hard conflict</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sPreferred)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room (but there is a hard conflict), can be moved in time with no conflict</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in room (but there is a hard conflict)</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in time with no hard conflict, cannot be moved in room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Can be moved in time (but there is a hard conflict), cannot be moved in room</td><td></td></tr>"); } else if (iBgMode==TimetableGridModel.sBgModeDepartmentalBalancing) { for (int nrConflicts=0;nrConflicts<=3;nrConflicts++) { String color = TimetableGridCell.conflicts2colorFast(nrConflicts); ! out.println("<tr><td width='40' style='background-color:"+color+";border:1px solid rgb(0,0,0)'> </td><td>"+(nrConflicts==0?"Zero penalty":nrConflicts==3?"Penalty equal or above 3":"Penalty equal to "+nrConflicts)+"</td><td></td></tr>"); } } else if (iBgMode==TimetableGridModel.sBgModeTooBigRooms) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sRequired)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is smaller than room limit of a class</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is not more than 25% bigger than the smallest avaialable room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is not more than 50% bigger than the smallest avaialable room</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Assigned room is more than 50% bigger than the smallest avaialable room</td><td></td></tr>"); } out.println("<tr><td colspan='2'>Free times:</td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.sBgColorNotAvailable+";border:1px solid rgb(0,0,0)'> </td><td>Time not available</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sNeutral)+";border:1px solid rgb(0,0,0)'> </td><td>No preference</td><td></td></tr>"); if (iShowUselessTimes) { ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Standard (MWF or TTh) time pattern is broken (time cannot be used for MW, WF, MF or TTh class)</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sStronglyDiscouraged)+";border:1px solid rgb(0,0,0)'> </td><td>Useless half-hour</td><td></td></tr>"); ! out.println("<tr><td width='40' style='background-color:"+TimetableGridCell.pref2color(PreferenceLevel.sProhibited)+";border:1px solid rgb(0,0,0)'> </td><td>Useless half-hour and broken standard time pattern</td><td></td></tr>"); } } Index: PdfTimetableGridTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/timegrid/PdfTimetableGridTable.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** PdfTimetableGridTable.java 12 Mar 2010 16:47:38 -0000 1.7 --- PdfTimetableGridTable.java 1 Dec 2010 11:10:48 -0000 1.8 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,24 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil.timegrid; - import java.awt.Color; import java.io.File; import java.io.FileOutputStream; --- 15,23 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil.timegrid; import java.io.File; import java.io.FileOutputStream; *************** *** 31,46 **** import org.unitime.timetable.util.PdfEventHandler; ! import com.lowagie.text.Chunk; ! import com.lowagie.text.Document; ! import com.lowagie.text.Element; ! import com.lowagie.text.FontFactory; ! import com.lowagie.text.Image; ! import com.lowagie.text.Paragraph; ! import com.lowagie.text.Rectangle; ! import com.lowagie.text.pdf.BaseFont; ! import com.lowagie.text.pdf.PdfPCell; ! import com.lowagie.text.pdf.PdfPTable; ! import com.lowagie.text.pdf.PdfTemplate; ! import com.lowagie.text.pdf.PdfWriter; --- 30,46 ---- import org.unitime.timetable.util.PdfEventHandler; ! import com.itextpdf.text.BaseColor; ! import com.itextpdf.text.Chunk; ! import com.itextpdf.text.Document; ! import com.itextpdf.text.Element; ! import com.itextpdf.text.FontFactory; ! import com.itextpdf.text.Image; ! import com.itextpdf.text.Paragraph; ! import com.itextpdf.text.Rectangle; ! import com.itextpdf.text.pdf.BaseFont; ! import com.itextpdf.text.pdf.PdfPCell; ! import com.itextpdf.text.pdf.PdfPTable; ! import com.itextpdf.text.pdf.PdfTemplate; ! import com.itextpdf.text.pdf.PdfWriter; *************** *** 121,125 **** } ! private static Color sBorderColor = new Color(100,100,100); --- 121,125 ---- } ! private static BaseColor sBorderColor = new BaseColor(100,100,100); *************** *** 180,184 **** PdfTemplate template = iWriter.getDirectContent().createTemplate(2*size+4, width); template.beginText(); ! template.setColorFill(Color.BLACK); template.setFontAndSize(bf, size); template.setTextMatrix(0, 2); --- 180,184 ---- PdfTemplate template = iWriter.getDirectContent().createTemplate(2*size+4, width); template.beginText(); ! template.setColorFill(BaseColor.BLACK); template.setFontAndSize(bf, size); template.setTextMatrix(0, 2); *************** *** 237,243 **** } ! private Color getColor(String rgbColor) { StringTokenizer x = new StringTokenizer(rgbColor.substring("rgb(".length(),rgbColor.length()-")".length()),","); ! return new Color( Integer.parseInt(x.nextToken()), Integer.parseInt(x.nextToken()), --- 237,243 ---- } ! private BaseColor getColor(String rgbColor) { StringTokenizer x = new StringTokenizer(rgbColor.substring("rgb(".length(),rgbColor.length()-")".length()),","); ! return new BaseColor( Integer.parseInt(x.nextToken()), Integer.parseInt(x.nextToken()), Index: SolverGridModel.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/webutil/timegrid/SolverGridModel.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** SolverGridModel.java 4 May 2010 16:32:20 -0000 1.5 --- SolverGridModel.java 1 Dec 2010 11:10:48 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.webutil.timegrid; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.webutil.timegrid; *************** *** 24,27 **** --- 24,28 ---- import java.util.HashSet; import java.util.Hashtable; + import java.util.List; import java.util.Set; import java.util.StringTokenizer; *************** *** 41,46 **** import net.sf.cpsolver.coursett.model.Placement; import net.sf.cpsolver.coursett.model.RoomLocation; - import net.sf.cpsolver.coursett.model.TimetableModel; - import net.sf.cpsolver.coursett.model.TimeLocation.IntEnumeration; import net.sf.cpsolver.ifs.model.Constraint; import net.sf.cpsolver.ifs.solver.Solver; --- 42,45 ---- *************** *** 52,56 **** private static final long serialVersionUID = 1L; private transient Long iRoomId = null; - private transient int iYear = 0; public SolverGridModel() { --- 51,54 ---- *************** *** 58,62 **** } ! public SolverGridModel(Solver solver, RoomConstraint room, int firstDay, int bgMode) { super(sResourceTypeRoom, room.getResourceId()); if (room instanceof DiscouragedRoomConstraint) --- 56,60 ---- } ! public SolverGridModel(Solver solver, RoomConstraint room, int firstDay, int bgMode, boolean showEvents) { super(sResourceTypeRoom, room.getResourceId()); if (room instanceof DiscouragedRoomConstraint) *************** *** 69,77 **** setType(room.getType()); iRoomId = room.getResourceId(); - iYear = ((TimetableModel)solver.currentSolution().getModel()).getYear(); if (firstDay<0) { Vector placements = new Vector(); ! for (Enumeration e=room.assignedVariables().elements();e.hasMoreElements();) { ! Lecture lecture = (Lecture)e.nextElement(); Placement placement = (Placement)lecture.getAssignment(); if (placement.hasRoomLocation(iRoomId)) --- 67,73 ---- setType(room.getType()); iRoomId = room.getResourceId(); if (firstDay<0) { Vector placements = new Vector(); ! for (Lecture lecture: room.assignedVariables()) { Placement placement = (Placement)lecture.getAssignment(); if (placement.hasRoomLocation(iRoomId)) *************** *** 92,100 **** for (int i=0;i<Constants.DAY_CODES.length;i++) for (int j=0;j<Constants.SLOTS_PER_DAY;j++) { ! Vector placements = (room.getAvailableArray()==null?null:room.getAvailableArray()[i*Constants.SLOTS_PER_DAY+j]); if (placements!=null && !placements.isEmpty()) { ! for (Enumeration e=placements.elements();e.hasMoreElements();) { ! Placement p = (Placement)e.nextElement(); ! if (done.add(p)) init(solver, p, sBgModeNotAvailable, firstDay); } --- 88,95 ---- for (int i=0;i<Constants.DAY_CODES.length;i++) for (int j=0;j<Constants.SLOTS_PER_DAY;j++) { ! List<Placement> placements = (room.getAvailableArray()==null?null:room.getAvailableArray()[i*Constants.SLOTS_PER_DAY+j]); if (placements!=null && !placements.isEmpty()) { ! for (Placement p: placements) { ! if ((showEvents || p.getAssignmentId() != null) && done.add(p)) init(solver, p, sBgModeNotAvailable, firstDay); } *************** *** 113,121 **** setName(instructor.getName()); setType(instructor.getType()); - iYear = ((TimetableModel)solver.currentSolution().getModel()).getYear(); if (firstDay<0) { Vector placements = new Vector(); ! for (Enumeration e=instructor.assignedVariables().elements();e.hasMoreElements();) { ! Lecture lecture = (Lecture)e.nextElement(); placements.add(lecture.getAssignment()); } --- 108,114 ---- setName(instructor.getName()); setType(instructor.getType()); if (firstDay<0) { Vector placements = new Vector(); ! for (Lecture lecture: instructor.assignedVariables()) { placements.add(lecture.getAssignment()); } *************** *** 128,135 **** for (int i=0;i<Constants.DAY_CODES.length;i++) for (int j=0;j<Constants.SLOTS_PER_DAY;j++) { ! Vector placements = instructor.getAvailableArray()[i*Constants.SLOTS_PER_DAY+j]; if (placements!=null) { ! for (Enumeration e=placements.elements();e.hasMoreElements();) { ! Placement p = (Placement)e.nextElement(); if (p==null || !done.add(p)) continue; init(solver, p, sBgModeNotAvailable, firstDay); --- 121,127 ---- for (int i=0;i<Constants.DAY_CODES.length;i++) for (int j=0;j<Constants.SLOTS_PER_DAY;j++) { ! List<Placement> placements = instructor.getAvailableArray()[i*Constants.SLOTS_PER_DAY+j]; if (placements!=null) { ! for (Placement p: placements) { if (p==null || !done.add(p)) continue; init(solver, p, sBgModeNotAvailable, firstDay); *************** *** 145,152 **** setName(dept.getName()); setSize(dept.variables().size()); - iYear = ((TimetableModel)solver.currentSolution().getModel()).getYear(); Vector placements = new Vector(); ! for (Enumeration e=dept.assignedVariables().elements();e.hasMoreElements();) { ! Lecture lecture = (Lecture)e.nextElement(); Placement placement = (Placement)lecture.getAssignment(); placements.add(placement); --- 137,142 ---- setName(dept.getName()); setSize(dept.variables().size()); Vector placements = new Vector(); ! for (L... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/WebContent/WEB-INF In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/WEB-INF Modified Files: struts-config.xml web.xml tiles-defs.xml Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: struts-config.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/struts-config.xml,v retrieving revision 1.51 retrieving revision 1.52 diff -C2 -d -r1.51 -r1.52 *** struts-config.xml 27 Mar 2010 11:11:41 -0000 1.51 --- struts-config.xml 1 Dec 2010 11:10:51 -0000 1.52 *************** *** 1,11 **** <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd"> <!-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,11 ---- <?xml version="1.0" encoding="UTF-8"?> ! <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.3//EN" "http://struts.apache.org/dtds/struts-config_1_3.dtd"> <!-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 16,21 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --> <struts-config> --- 16,21 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --> <struts-config> *************** *** 24,29 **** <description>University Timetabling Application</description> - <data-sources /> - <form-beans > <form-bean name="distributionTypeListForm" type="org.unitime.timetable.form.DistributionTypeListForm" /> --- 24,27 ---- *************** *** 145,149 **** <form-bean name="eventEditForm" type="org.unitime.timetable.form.EventEditForm" /> <form-bean name="meetingListForm" type="org.unitime.timetable.form.MeetingListForm" /> - <form-bean name="curriculumListForm" type="org.unitime.timetable.form.CurriculumListForm" /> <form-bean name="classInfoForm" type="org.unitime.timetable.form.ClassInfoForm" /> <form-bean name="enrollmentAuditPdfReportForm" type="org.unitime.timetable.form.EnrollmentAuditPdfReportForm" /> --- 143,146 ---- *************** *** 829,833 **** <action path="/hibernateStats" ! forward="statsTile" /> <action --- 826,830 ---- <action path="/hibernateStats" ! forward="hibrenateStatsTile" /> <action *************** *** 2547,2564 **** <action - path="/curriculumList" - type="org.unitime.timetable.action.CurriculumListAction" - attribute="curriculumListForm" - input="curriculumListTile" - name="curriculumListForm" - scope="request" - validate="false"> - <forward - name="show" - path="curriculumListTile" - redirect="true" /> - </action> - - <action path="/classInfo" type="org.unitime.timetable.action.ClassInfoAction" --- 2544,2547 ---- *************** *** 2588,2591 **** --- 2571,2578 ---- </action> + <action + path="/stats" + forward="statsTile" /> + </action-mappings> Index: web.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/web.xml,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** web.xml 11 Feb 2010 12:32:09 -0000 1.5 --- web.xml 1 Dec 2010 11:10:51 -0000 1.6 *************** *** 1,10 **** <?xml version="1.0" encoding="UTF-8"?> <!-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- <?xml version="1.0" encoding="UTF-8"?> <!-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --> <web-app --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --> <web-app *************** *** 29,33 **** <description> ! University Course Timetabling & Student Sectioning Application </description> --- 29,33 ---- <description> ! University Timetabling Application </description> *************** *** 79,82 **** --- 79,154 ---- </servlet> + <!-- GWT Servlets --> + <servlet> + <servlet-name>sectioningServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.SectioningServlet</servlet-class> + <load-on-startup>3</load-on-startup> + </servlet> + + <servlet> + <servlet-name>calendarServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.CalendarServlet</servlet-class> + </servlet> + + <servlet> + <servlet-name>curriculaServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.CurriculaServlet</servlet-class> + <load-on-startup>2</load-on-startup> + </servlet> + + <servlet> + <servlet-name>menuServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.MenuServlet</servlet-class> + </servlet> + + <servlet> + <servlet-name>simpleEditServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.SimpleEditServlet</servlet-class> + </servlet> + + <servlet> + <servlet-name>lookupServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.LookupServlet</servlet-class> + </servlet> + + <servlet> + <servlet-name>eventServiceServlet</servlet-name> + <servlet-class>org.unitime.timetable.gwt.server.EventServlet</servlet-class> + </servlet> + + <servlet-mapping> + <servlet-name>sectioningServiceServlet</servlet-name> + <url-pattern>/unitime/sectioning.gwt</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>calendarServlet</servlet-name> + <url-pattern>/calendar</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>curriculaServiceServlet</servlet-name> + <url-pattern>/unitime/curricula.gwt</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>menuServiceServlet</servlet-name> + <url-pattern>/unitime/menu.gwt</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>simpleEditServiceServlet</servlet-name> + <url-pattern>/unitime/simpleEdit.gwt</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>lookupServiceServlet</servlet-name> + <url-pattern>/unitime/lookup.gwt</url-pattern> + </servlet-mapping> + + <servlet-mapping> + <servlet-name>eventServiceServlet</servlet-name> + <url-pattern>/unitime/event.gwt</url-pattern> + </servlet-mapping> <!-- Servlet Mappings --> *************** *** 96,126 **** </filter> - <!-- Filter XSS characters and SQL injection --> - <!-- filter> - <filter-name> - XSS Filter - </filter-name> - <filter-class> - org.unitime.timetable.filter.XSSFilter - </filter-class> - </filter --> - <!-- - <init-param> - <param-name>additional_chars</param-name> - <param-value>\=\/\+</param-value> - <description> - Additional Characters to be allowed besides the default - </description> - </init-param> - <init-param> - <param-name>replace_string</param-name> - <param-value>_</param-value> - <description> - The filtered characters will be replaced by this character. - Default value is underscore (_) - </description> - </init-param> - --> - <filter> <filter-name> --- 168,171 ---- *************** *** 177,180 **** --- 222,238 ---- </filter> + <filter> + <filter-name> + Query Log Filter + </filter-name> + <filter-class> + org.unitime.timetable.filter.QueryLogFilter + </filter-class> + <init-param> + <param-name>exclude</param-name> + <param-value>menu.gwt: MenuService#getSolverInfo</param-value> + </init-param> + </filter> + <!-- Filter Mappings --> <filter-mapping> *************** *** 193,201 **** </filter-mapping> - <!-- filter-mapping> - <filter-name>XSS Filter</filter-name> - <url-pattern>/*</url-pattern> - </filter-mapping --> - <filter-mapping> <filter-name>Logged-in Only Filter</filter-name> --- 251,254 ---- *************** *** 208,220 **** </filter-mapping> ! <!-- Use if needed to track sessions --> ! <!-- ! <listener> ! <listener-class> ! org.unitime.timetable.listeners.SessionListener ! </listener-class> ! </listener> ! --> ! </web-app> --- 261,270 ---- </filter-mapping> ! <filter-mapping> ! <filter-name>Query Log Filter</filter-name> ! <url-pattern>*.do</url-pattern> ! <url-pattern>*.gwt</url-pattern> ! <url-pattern>/calendar</url-pattern> ! </filter-mapping> </web-app> Index: tiles-defs.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/tiles-defs.xml,v retrieving revision 1.52 retrieving revision 1.53 diff -C2 -d -r1.52 -r1.53 *** tiles-defs.xml 27 Mar 2010 11:11:41 -0000 1.52 --- tiles-defs.xml 1 Dec 2010 11:10:51 -0000 1.53 *************** *** 2,14 **** <!DOCTYPE tiles-definitions PUBLIC ! "-//Apache Software Foundation//DTD Tiles Configuration 1.1//EN" ! "http://struts.apache.org/dtds/tiles-config_1_1.dtd" > <!-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 2,14 ---- <!DOCTYPE tiles-definitions PUBLIC ! "-//Apache Software Foundation//DTD Tiles Configuration 1.3//EN" ! "http://struts.apache.org/dtds/tiles-config_1_3.dtd" > <!-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 19,24 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --> <tiles-definitions> --- 19,24 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --> <tiles-definitions> *************** *** 32,36 **** <put name="header" value="/header.jsp" /> - <put name="menu" value="/menu.jsp" /> <put name="body" value="" /> </definition> --- 32,35 ---- *************** *** 40,45 **** id="timetable.pageLayout" page="/layouts/pageLayout.jsp"> ! <put name="onLoadFunction" type="string" value="onLoad='doLoad()'" /> ! <put name="title" type="string" value="Timetabling Application" /> <put name="header" value="/header.jsp" /> <put name="body" value="" /> --- 39,44 ---- id="timetable.pageLayout" page="/layouts/pageLayout.jsp"> ! <put name="onLoadFunction" type="string" value="" /> ! <put name="title" type="string" value="University Timetabling Application" /> <put name="header" value="/header.jsp" /> <put name="body" value="" /> *************** *** 47,55 **** <put name="showNavigation" value="false" /> <put name="showSolverWarnings" value="false" /> - <put name="helpFile" value="" /> <put name="checkLogin" value="true" /> <put name="checkRole" value="true" /> <put name="checkAdmin" value="false" /> <put name="checkAccessLevel" value="true" /> </definition> --- 46,54 ---- <put name="showNavigation" value="false" /> <put name="showSolverWarnings" value="false" /> <put name="checkLogin" value="true" /> <put name="checkRole" value="true" /> <put name="checkAdmin" value="false" /> <put name="checkAccessLevel" value="true" /> + <put name="showMenu" value="true" /> </definition> *************** *** 158,161 **** --- 157,161 ---- <put name="title" type="string" value="Room Detail"/> <put name="body" value="/admin/roomDetail.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 163,166 **** --- 163,167 ---- <put name="title" type="string" value="Edit Room"/> <put name="body" value="/admin/editRoom.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 172,175 **** --- 173,177 ---- <put name="title" type="string" value="Edit Room Preference"/> <put name="body" value="/admin/setUpRoomPref.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 177,180 **** --- 179,183 ---- <put name="title" type="string" value="Edit Room Features"/> <put name="body" value="/admin/editRoomFeature.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 182,185 **** --- 185,189 ---- <put name="title" type="string" value="Edit Room Availability"/> <put name="body" value="/admin/editRoomDept.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 187,190 **** --- 191,195 ---- <put name="title" type="string" value="Edit Room Groups"/> <put name="body" value="/admin/editRoomGroup.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 283,286 **** --- 288,292 ---- <put name="title" type="string" value="Room Availability & Sharing"/> <put name="body" value="/admin/roomDeptList.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 465,473 **** <put name="body" value="/tt/suggestions.jsp" /> <put name="showSolverWarnings" value="true" /> </definition> ! <definition name="statsTile" extends="pageLayoutDef"> <put name="title" type="string" value="Hibernate Statistics"/> <put name="body" value="/admin/hibernateStats.jsp" /> </definition> --- 471,481 ---- <put name="body" value="/tt/suggestions.jsp" /> <put name="showSolverWarnings" value="true" /> + <put name="showMenu" value="false" /> </definition> ! <definition name="hibrenateStatsTile" extends="pageLayoutDef"> <put name="title" type="string" value="Hibernate Statistics"/> <put name="body" value="/admin/hibernateStats.jsp" /> + <put name="checkAdmin" value="true" /> </definition> *************** *** 610,613 **** --- 618,622 ---- <put name="title" type="string" value="Edit Course Offering"/> <put name="body" value="/user/courseOfferingEdit.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 658,661 **** --- 667,671 ---- <put name="title" type="string" value="Course Reservations"/> <put name="body" value="/user/courseReservationEdit.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 663,666 **** --- 673,677 ---- <put name="title" type="string" value="Academic Area Reservations"/> <put name="body" value="/user/academicAreaReservationEdit.jsp" /> + <put name="showNavigation" value="true" /> </definition> *************** *** 862,865 **** --- 873,877 ---- <put name="title" type="string" value="Examination Assignment"/> <put name="body" value="/exam/info.jsp" /> + <put name="showMenu" value="false" /> </definition> *************** *** 1021,1032 **** </definition> - <definition name="curriculumListTile" extends="pageLayoutDef"> - <put name="title" type="string" value="Curricula"/> - <put name="body" value="/user/curriculumList.jsp" /> - </definition> - <definition name="classInfoTile" extends="pageLayoutDef"> <put name="title" type="string" value="Class Assignment"/> <put name="body" value="/tt/info.jsp" /> </definition> --- 1033,1040 ---- </definition> <definition name="classInfoTile" extends="pageLayoutDef"> <put name="title" type="string" value="Class Assignment"/> <put name="body" value="/tt/info.jsp" /> + <put name="showMenu" value="false" /> </definition> *************** *** 1036,1038 **** --- 1044,1051 ---- </definition> + <definition name="statsTile" extends="pageLayoutDef"> + <put name="title" type="string" value="Page Statistics"/> + <put name="body" value="/admin/stats.jsp" /> + <put name="checkAdmin" value="true" /> + </definition> </tiles-definitions> \ No newline at end of file |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/authenticate/jaas Modified Files: LdapAuthenticateModule.java LoginConfiguration.java TimetablePrincipal.java AuthenticateModule.java DbAuthenticateModule.java UserPasswordHandler.java Added Files: LdapTest.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: DbAuthenticateModule.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/DbAuthenticateModule.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** DbAuthenticateModule.java 17 Jun 2008 21:24:56 -0000 1.3 --- DbAuthenticateModule.java 1 Dec 2010 11:10:50 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; *************** *** 34,37 **** --- 34,38 ---- import javax.security.auth.login.LoginException; + import org.apache.log4j.Logger; import org.unitime.commons.Base64; import org.unitime.timetable.ApplicationProperties; *************** *** 48,53 **** * @author Heston Fernandes */ ! public class DbAuthenticateModule ! extends AuthenticateModule { // --------------------------------------------------------- Instance Variables --- 49,55 ---- * @author Heston Fernandes */ ! public class DbAuthenticateModule extends AuthenticateModule { ! private static Logger sLog = Logger.getLogger(DbAuthenticateModule.class); ! // --------------------------------------------------------- Instance Variables *************** *** 115,125 **** // Check at least one role is found if (p.getRoles().isEmpty() && !"true".equals(ApplicationProperties.getProperty("tmtbl.authentication.norole","false"))) { ! if (isDebug()) System.out.println("Role not found. Access Denied to User: " + getUser()); throw new LoginException ("Role not found. Access Denied to User: " + getUser()); } // Create user principal ! if (isDebug()) System.out.println("User Roles: " + p.getRoles()); ! if (isDebug()) System.out.println("User Depts: " + p.getDepartments()); --- 117,127 ---- // Check at least one role is found if (p.getRoles().isEmpty() && !"true".equals(ApplicationProperties.getProperty("tmtbl.authentication.norole","false"))) { ! sLog.debug("Role not found. Access Denied to User: " + getUser()); throw new LoginException ("Role not found. Access Denied to User: " + getUser()); } // Create user principal ! sLog.debug("User Roles: " + p.getRoles()); ! sLog.debug("User Depts: " + p.getDepartments()); *************** *** 153,157 **** public boolean login() throws LoginException { ! if (isDebug()) System.out.println("Performing db authentication ... "); // Get callback parameters --- 155,159 ---- public boolean login() throws LoginException { ! sLog.debug("Performing db authentication ... "); // Get callback parameters *************** *** 177,186 **** // Authentication failed ! if (isDebug()) System.out.println("Db authentication failed ... "); setAuthSucceeded(false); return false; } catch (Exception ex) { ! if (isDebug()) System.out.println("Db authentication failed ... " + ex.getMessage()); setAuthSucceeded(false); return false; --- 179,188 ---- // Authentication failed ! sLog.debug("Db authentication failed ... "); setAuthSucceeded(false); return false; } catch (Exception ex) { ! sLog.debug("Db authentication failed ... " + ex.getMessage(), ex); setAuthSucceeded(false); return false; *************** *** 219,223 **** // Authentication succeeded if (checkPassword(p, pwd)) { ! if (isDebug()) System.out.println("Db authentication passed ... "); setAuthSucceeded(true); iExternalUid = u.getExternalUniqueId(); --- 221,225 ---- // Authentication succeeded if (checkPassword(p, pwd)) { ! sLog.debug("Db authentication passed ... "); setAuthSucceeded(true); iExternalUid = u.getExternalUniqueId(); Index: LdapAuthenticateModule.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/LdapAuthenticateModule.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** LdapAuthenticateModule.java 30 Mar 2010 16:04:59 -0000 1.6 --- LdapAuthenticateModule.java 1 Dec 2010 11:10:50 -0000 1.7 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; *************** *** 28,33 **** --- 28,35 ---- import javax.naming.Context; + import javax.naming.NamingException; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; + import javax.naming.directory.DirContext; import javax.naming.directory.InitialDirContext; import javax.security.auth.Subject; *************** *** 38,41 **** --- 40,44 ---- import javax.security.auth.login.LoginException; + import org.apache.log4j.Logger; import org.unitime.timetable.ApplicationProperties; import org.unitime.timetable.model.Department; *************** *** 47,50 **** --- 50,54 ---- */ public class LdapAuthenticateModule extends AuthenticateModule { + private static Logger sLog = Logger.getLogger(LdapAuthenticateModule.class); private String iExternalUid; *************** *** 98,108 **** // Check at least one role is found if (p.getRoles().isEmpty() && !"true".equals(ApplicationProperties.getProperty("tmtbl.authentication.norole","false"))) { ! if (isDebug()) System.out.println("Role not found. Access Denied to User: " + getUser()); throw new LoginException ("Role not found. Access Denied to User: " + getUser()); } // Create user principal ! if (isDebug()) System.out.println("User Roles: " + p.getRoles()); ! if (isDebug()) System.out.println("User Depts: " + p.getDepartments()); --- 102,112 ---- // Check at least one role is found if (p.getRoles().isEmpty() && !"true".equals(ApplicationProperties.getProperty("tmtbl.authentication.norole","false"))) { ! sLog.debug("Role not found. Access Denied to User: " + getUser()); throw new LoginException ("Role not found. Access Denied to User: " + getUser()); } // Create user principal ! sLog.debug("User Roles: " + p.getRoles()); ! sLog.debug("User Depts: " + p.getDepartments()); *************** *** 134,138 **** if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider") == null) return false; ! if (isDebug()) System.out.println("Performing ldap authentication ... "); // Get callback parameters --- 138,142 ---- if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider") == null) return false; ! sLog.debug("Performing ldap authentication ... "); // Get callback parameters *************** *** 157,166 **** // Authentication failed ! if (isDebug()) System.out.println("Ldap authentication failed ... "); setAuthSucceeded(false); return false; } catch (Exception ex) { ! if (isDebug()) System.out.println("Ldap authentication failed ... " + ex.getMessage()); setAuthSucceeded(false); return false; --- 161,170 ---- // Authentication failed ! sLog.debug("Ldap authentication failed ... "); setAuthSucceeded(false); return false; } catch (Exception ex) { ! sLog.debug("Ldap authentication failed ... " + ex.getMessage(), ex); setAuthSucceeded(false); return false; *************** *** 183,201 **** super.reset(); } ! ! /** ! * Perform actual authentication the user ! */ ! public boolean doAuthenticate(HashMap userProps) throws Exception { ! if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider")==null) throw new Exception("Ldap provider is not set."); ! String principal = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.principal"); ! if (principal==null) throw new Exception("Ldap principal is not set."); ! String query = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.query"); ! if (query==null) throw new Exception("Ldap query is not set."); ! ! String n = (String) userProps.get("username"); ! String p = (String) userProps.get("password"); ! ! Hashtable env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ctxFactory","com.sun.jndi.ldap.LdapCtxFactory")); env.put(Context.PROVIDER_URL, ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider")); --- 187,193 ---- super.reset(); } ! ! private static Hashtable<String,String> getEnv() { ! Hashtable<String,String> env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ctxFactory","com.sun.jndi.ldap.LdapCtxFactory")); env.put(Context.PROVIDER_URL, ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider")); *************** *** 215,230 **** System.setProperty("javax.net.ssl.trustStorePassword", ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStorePassword")); if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")!=null) ! System.setProperty("javax.net.ssl.trustStoreType", ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")); env.put(Context.SECURITY_PRINCIPAL, principal.replaceAll("%", n)); - //if (isDebug()) System.out.println("env:"+ToolBox.dict2string(env, 2)); env.put(Context.SECURITY_CREDENTIALS, p); InitialDirContext cx = new InitialDirContext(env); ! //if (isDebug()) System.out.println("cx:"+cx); String idAttributeName = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.externalId","uid"); Attributes attributes = cx.getAttributes(query.replaceAll("%", n),new String[] {idAttributeName}); ! //if (isDebug()) System.out.println("attr:"+attributes); ! Attribute idAttribute = attributes.get(idAttributeName); if (idAttribute!=null) { ! if (isDebug()) System.out.println("Ldap authentication passed ... "); setAuthSucceeded(true); iExternalUid = (String)idAttribute.get(); --- 207,244 ---- System.setProperty("javax.net.ssl.trustStorePassword", ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStorePassword")); if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")!=null) ! System.setProperty("javax.net.ssl.trustStoreType", ApplicationProperties.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")); ! return env; ! } ! ! public static DirContext getDirContext() throws NamingException { ! return new InitialDirContext(getEnv()); ! } ! ! /** ! * Perform actual authentication the user ! */ ! public boolean doAuthenticate(HashMap userProps) throws Exception { ! if (ApplicationProperties.getProperty("tmtbl.authenticate.ldap.provider")==null) throw new Exception("Ldap provider is not set."); ! ! String principal = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.principal"); ! if (principal==null) throw new Exception("Ldap principal is not set."); ! ! String query = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.query"); ! if (query==null) throw new Exception("Ldap query is not set."); ! ! String n = (String) userProps.get("username"); ! String p = (String) userProps.get("password"); ! ! Hashtable<String, String> env = getEnv(); env.put(Context.SECURITY_PRINCIPAL, principal.replaceAll("%", n)); env.put(Context.SECURITY_CREDENTIALS, p); InitialDirContext cx = new InitialDirContext(env); ! String idAttributeName = ApplicationProperties.getProperty("tmtbl.authenticate.ldap.externalId","uid"); Attributes attributes = cx.getAttributes(query.replaceAll("%", n),new String[] {idAttributeName}); ! ! Attribute idAttribute = attributes.get(idAttributeName); if (idAttribute!=null) { ! sLog.debug("Ldap authentication passed ... "); setAuthSucceeded(true); iExternalUid = (String)idAttribute.get(); Index: TimetablePrincipal.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/TimetablePrincipal.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** TimetablePrincipal.java 17 Jun 2008 21:24:56 -0000 1.2 --- TimetablePrincipal.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; Index: LoginConfiguration.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/LoginConfiguration.java,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** LoginConfiguration.java 30 Mar 2010 16:17:34 -0000 1.1 --- LoginConfiguration.java 1 Dec 2010 11:10:50 -0000 1.2 *************** *** 1,4 **** /* ! * UniTime 3.1 (University Timetabling Application) * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. *************** *** 6,10 **** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 6,10 ---- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; --- NEW FILE: LdapTest.java --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ package org.unitime.timetable.authenticate.jaas; import java.io.BufferedReader; import java.io.File; import java.io.FileInputStream; import java.io.InputStreamReader; import java.util.HashSet; import java.util.Hashtable; import java.util.Properties; import java.util.Set; import javax.naming.Context; import javax.naming.directory.Attribute; import javax.naming.directory.Attributes; import javax.naming.directory.InitialDirContext; public class LdapTest { private static class LdapProperties extends Properties { private Set<String> keys = new HashSet<String>(); private static final long serialVersionUID = 1L; public LdapProperties() { super(); } public String getProperty(String key, String defaultValue) { if (keys.add(key)) System.out.println("Using " + key + "=" + super.getProperty(key, defaultValue)); return super.getProperty(key, defaultValue); } public String getProperty(String key) { if (keys.add(key)) System.out.println("Using " + key + "=" + super.getProperty(key)); return super.getProperty(key); } } public static void main(String[] args) { try { LdapProperties prop = new LdapProperties(); File propFile = null; if (args.length > 0) { propFile = new File(args[0]); } else if (System.getProperty("tmtbl.custom.properties") != null) { propFile = new File(System.getProperty("tmtbl.custom.properties")); } if (propFile == null || !propFile.exists()) { System.out.println("Usage: java -jar ldap-test.jar ldap.properties"); if (propFile != null) System.err.println("File " + propFile.getAbsolutePath() + " does not exists."); System.exit(1); } else { System.out.println("Loading properties " + propFile.getAbsolutePath() + " ..."); prop.load(new FileInputStream(propFile)); } BufferedReader in = new BufferedReader(new InputStreamReader(System.in)); System.out.print("Username:"); String n = in.readLine(); System.out.print("Password:"); String p = in.readLine(); // get principal & query String principal = prop.getProperty("tmtbl.authenticate.ldap.principal"); if (principal==null) throw new Exception("Ldap principal is not set."); String query = prop.getProperty("tmtbl.authenticate.ldap.query"); if (query==null) throw new Exception("Ldap query is not set."); // create env Hashtable<String,String> env = new Hashtable(); env.put(Context.INITIAL_CONTEXT_FACTORY, prop.getProperty("tmtbl.authenticate.ldap.ctxFactory","com.sun.jndi.ldap.LdapCtxFactory")); env.put(Context.PROVIDER_URL, prop.getProperty("tmtbl.authenticate.ldap.provider")); env.put(Context.REFERRAL, prop.getProperty("tmtbl.authenticate.ldap.referral","ignore")); if (prop.getProperty("tmtbl.authenticate.ldap.version")!=null) env.put("java.naming.ldap.version", prop.getProperty("tmtbl.authenticate.ldap.version")); env.put(Context.SECURITY_AUTHENTICATION, prop.getProperty("tmtbl.authenticate.ldap.security","simple")); if (prop.getProperty("tmtbl.authenticate.ldap.socketFactory")!=null) env.put("java.naming.ldap.factory.socket",prop.getProperty("tmtbl.authenticate.ldap.socketFactory")); if (prop.getProperty("tmtbl.authenticate.ldap.ssl.keyStore")!=null) System.setProperty("javax.net.ssl.keyStore", prop.getProperty("tmtbl.authenticate.ldap.ssl.keyStore").replaceAll("%WEB-INF%", ".")); if (prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStore")!=null) System.setProperty("javax.net.ssl.trustStore", prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStore").replaceAll("%WEB-INF%", ".")); if (prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStorePassword")!=null) System.setProperty("javax.net.ssl.keyStorePassword", prop.getProperty("tmtbl.authenticate.ldap.ssl.keyStorePassword")); if (prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStorePassword")!=null) System.setProperty("javax.net.ssl.trustStorePassword", prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStorePassword")); if (prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")!=null) System.setProperty("javax.net.ssl.trustStoreType", prop.getProperty("tmtbl.authenticate.ldap.ssl.trustStoreType")); // create context env.put(Context.SECURITY_PRINCIPAL, principal.replaceAll("%", n)); env.put(Context.SECURITY_CREDENTIALS, p); InitialDirContext cx = new InitialDirContext(env); // authenticate & retrieve external user id String idAttributeName = prop.getProperty("tmtbl.authenticate.ldap.externalId","uid"); Attributes attributes = cx.getAttributes(query.replaceAll("%", n),new String[] {idAttributeName}); Attribute idAttribute = attributes.get(idAttributeName); if (idAttribute!=null) { System.out.println("Authentication succeeded, external user id is " + idAttribute.get() + "."); } else { System.out.println("Authentication succeeded, but external user id (named "+idAttributeName+") does not exists or it is not set."); } } catch (Exception e) { System.err.println("Authentication failed: " + e.getMessage()); e.printStackTrace(); } } } Index: AuthenticateModule.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/AuthenticateModule.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** AuthenticateModule.java 17 Jun 2008 21:24:56 -0000 1.2 --- AuthenticateModule.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; *************** *** 42,48 **** private Map options; - // Config option - private boolean debug; - // Flags private boolean authSucceeded; --- 42,45 ---- *************** *** 79,88 **** setAuthSucceeded(false); setCommitSucceeded(false); - setDebug(false); - - // Check if debug option is set in jaas config - String d = (String)options.get("debug"); - if (d!=null && d.equalsIgnoreCase("true")) - setDebug(true); } --- 76,79 ---- *************** *** 118,128 **** } - public boolean isDebug() { - return debug; - } - public void setDebug(boolean debug) { - this.debug = debug; - } - public Map getOptions() { return options; --- 109,112 ---- Index: UserPasswordHandler.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/authenticate/jaas/UserPasswordHandler.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** UserPasswordHandler.java 17 Jun 2008 21:24:56 -0000 1.2 --- UserPasswordHandler.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.authenticate.jaas; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.authenticate.jaas; |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/solver/remote/core Modified Files: RemoteIo.java ServerLogger.java PingTest.java ServerClassLoader.java SolverTray.java ResourceProvider.java Startup.java ConnectionFactory.java ControlThread.java StartupMinimal.java ServerThread.java RemoteSolverServer.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: StartupMinimal.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/StartupMinimal.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** StartupMinimal.java 17 Jun 2008 21:24:56 -0000 1.2 --- StartupMinimal.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: PingTest.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/PingTest.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** PingTest.java 8 Jan 2010 16:30:41 -0000 1.3 --- PingTest.java 1 Dec 2010 11:10:50 -0000 1.4 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; *************** *** 29,33 **** public class PingTest { private static int sPort = 1205; - private static int sPacketSize = 10; public static class Listener extends Thread { --- 29,32 ---- *************** *** 111,115 **** long t0 = System.currentTimeMillis(); RemoteIo.writeObject(socket,"ping"); ! Object response = RemoteIo.readObject(socket); long t1 = System.currentTimeMillis(); System.out.println("Ping received in "+(t1-t0)+" ms."); --- 110,114 ---- long t0 = System.currentTimeMillis(); RemoteIo.writeObject(socket,"ping"); ! RemoteIo.readObject(socket); long t1 = System.currentTimeMillis(); System.out.println("Ping received in "+(t1-t0)+" ms."); Index: ServerClassLoader.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ServerClassLoader.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ServerClassLoader.java 17 Jun 2008 21:24:56 -0000 1.2 --- ServerClassLoader.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; *************** *** 128,132 **** public static class MyURLConnection extends URLConnection { private ByteArrayInputStream iInput = null; - private byte[] iData; protected MyURLConnection(byte[] data, URL url) { --- 128,131 ---- Index: ServerLogger.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ServerLogger.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ServerLogger.java 17 Jun 2008 21:24:56 -0000 1.2 --- ServerLogger.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: RemoteSolverServer.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/RemoteSolverServer.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** RemoteSolverServer.java 17 Jun 2008 21:24:56 -0000 1.4 --- RemoteSolverServer.java 1 Dec 2010 11:10:50 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: Startup.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/Startup.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** Startup.java 17 Jun 2008 21:24:56 -0000 1.2 --- Startup.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: RemoteIo.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/RemoteIo.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RemoteIo.java 17 Jun 2008 21:24:56 -0000 1.2 --- RemoteIo.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: SolverTray.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/SolverTray.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SolverTray.java 17 Jun 2008 21:24:56 -0000 1.2 --- SolverTray.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: ResourceProvider.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ResourceProvider.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ResourceProvider.java 17 Jun 2008 21:24:56 -0000 1.2 --- ResourceProvider.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: ServerThread.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ServerThread.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ServerThread.java 17 Jun 2008 21:24:56 -0000 1.2 --- ServerThread.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; *************** *** 37,42 **** private Properties iProperties; private Class iRemoteSolverClass = null; - private String iKeyStore = null; - private String iKeyStorePasswd = null; public String getServerHost() { return iServerHost; } --- 37,40 ---- Index: ControlThread.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ControlThread.java,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** ControlThread.java 8 Jan 2010 16:30:41 -0000 1.4 --- ControlThread.java 1 Dec 2010 11:10:50 -0000 1.5 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; Index: ConnectionFactory.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/core/ConnectionFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ConnectionFactory.java 17 Jun 2008 21:24:56 -0000 1.2 --- ConnectionFactory.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote.core; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote.core; |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954 Modified Files: .classpath .cvsignore build.properties .mymetadata build.xml .project build.number Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: .cvsignore =================================================================== RCS file: /cvsroot/unitime/UniTime/.cvsignore,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .cvsignore 12 Jun 2007 02:27:36 -0000 1.1 --- .cvsignore 1 Dec 2010 11:10:50 -0000 1.2 *************** *** 1 **** ! Distributions \ No newline at end of file --- 1,3 ---- ! Distributions ! temp ! .settings \ No newline at end of file Index: .project =================================================================== RCS file: /cvsroot/unitime/UniTime/.project,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .project 12 Jun 2007 02:27:36 -0000 1.1 --- .project 1 Dec 2010 11:10:50 -0000 1.2 *************** *** 52,55 **** --- 52,65 ---- </arguments> </buildCommand> + <buildCommand> + <name>com.google.gdt.eclipse.core.webAppProjectValidator</name> + <arguments> + </arguments> + </buildCommand> + <buildCommand> + <name>com.google.gwt.eclipse.core.gwtProjectValidator</name> + <arguments> + </arguments> + </buildCommand> </buildSpec> <natures> *************** *** 59,62 **** --- 69,73 ---- <nature>org.eclipse.jdt.core.javanature</nature> <nature>com.genuitec.eclipse.cross.easystruts.eclipse.easystrutsnature</nature> + <nature>com.google.gwt.eclipse.core.gwtNature</nature> </natures> </projectDescription> Index: build.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/build.xml,v retrieving revision 1.16 retrieving revision 1.17 diff -C2 -d -r1.16 -r1.17 *** build.xml 30 Mar 2010 15:45:09 -0000 1.16 --- build.xml 1 Dec 2010 11:10:50 -0000 1.17 *************** *** 1,10 **** <?xml version="1.0" encoding="UTF-8"?> <!-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- <?xml version="1.0" encoding="UTF-8"?> <!-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,22 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --> <project name="UniTime" basedir="." default="build"> <target name="load-properties"> --- 15,29 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --> <project name="UniTime" basedir="." default="build"> + <!-- Mac GWT requires -XstartOnFirstThread --> + <condition property="mac"> + <os name="Mac OS X"/> + </condition> + <condition property="macJvmArgs" value="-XstartOnFirstThread" else="-Dgwt.dummy.arg1="> + <isset property="mac"/> + </condition> <target name="load-properties"> *************** *** 50,54 **** <target name="prepare" depends="init"> <buildnumber/> ! <echo message="Build number: ${build.number}"/> <tstamp> <format property="build.date" pattern="EEE, d MMM yyyy" locale="en"/> --- 57,61 ---- <target name="prepare" depends="init"> <buildnumber/> ! <echo message="Build number: ${build.number}${build.tag}"/> <tstamp> <format property="build.date" pattern="EEE, d MMM yyyy" locale="en"/> *************** *** 57,64 **** <propertyfile file="build.date" comment="Build info"> <entry key="build.date" value="${build.date}"/> ! <entry key="build.number" value="${build.number}"/> </propertyfile> <copy todir="${build.dir}" overwrite="Yes" preservelastmodified="Yes"> <fileset dir="${src.dir}" includes="**/*.java"/> </copy> <replace file="${build.dir}/org/unitime/timetable/util/Constants.java" propertyFile="build.date"> --- 64,73 ---- <propertyfile file="build.date" comment="Build info"> <entry key="build.date" value="${build.date}"/> ! <entry key="build.number" value="${build.number}${build.tag}"/> </propertyfile> <copy todir="${build.dir}" overwrite="Yes" preservelastmodified="Yes"> <fileset dir="${src.dir}" includes="**/*.java"/> + <fileset dir="${src.dir}" includes="**/*.gwt.xml"/> + <fileset dir="${src.dir}" includes="org/unitime/timetable/gwt/resources/**/*.*"/> </copy> <replace file="${build.dir}/org/unitime/timetable/util/Constants.java" propertyFile="build.date"> *************** *** 79,83 **** <target name="compile-java" depends="prepare"> ! <javac debug="${java.debug}" optimize="${java.optimize}" source="1.5" target="1.5" destdir="${build.dir}"> <src path="${build.dir}" /> <classpath refid="build.classpath" /> --- 88,92 ---- <target name="compile-java" depends="prepare"> ! <javac debug="${java.debug}" optimize="${java.optimize}" source="1.5" target="1.5" destdir="${build.dir}" includeantruntime="false"> <src path="${build.dir}" /> <classpath refid="build.classpath" /> *************** *** 86,89 **** --- 95,108 ---- <delete file="build.date" failonerror="false" /> </target> + + <target name="compile-gwt" depends="compile-java"> + <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler" dir="${temp.dir}"> + <classpath refid="build.classpath" /> + <classpath path="${build.dir}"/> + <jvmarg value="-Xmx600M"/> + <jvmarg value="${macJvmArgs}"/> + <arg value="org.unitime.timetable.gwt.UniTime"/> + </java> + </target> <target name="timetable-jar" depends="compile-java"> *************** *** 100,105 **** <manifest> <attribute name="Main-Class" value="org.unitime.timetable.solver.remote.core.Startup" /> ! <attribute name="Class-Path" value="cpsolver-all-1.1.jar log4j-1.2.8.jar dom4j-1.6.1.jar hibernate3.jar commons-logging-1.1.jar commons-collections-3.2.jar cglib-2.1.3.jar asm-attrs.jar asm.jar ehcache-1.2.3.jar jta.jar antlr-2.7.6.jar jsp-api.jar servlet-api.jar ojdbc14.jar commons-dbcp-1.2.2.jar commons-pool-1.3.jar mysql-connector-java-5.0.5-bin.jar" /> ! <attribute name="Timetabling-Version" value="3.1_bld${build.number}"/> </manifest> </jar> --- 119,124 ---- <manifest> <attribute name="Main-Class" value="org.unitime.timetable.solver.remote.core.Startup" /> ! <attribute name="Class-Path" value="antlr-2.7.6.jar backport-util-concurrent.jar commons-collections-3.2.1.jar commons-dbcp-1.4.jar commons-logging-1.1.1.jar commons-pool-1.5.4.jar cpsolver-all-1.2.jar dom4j-1.6.1.jar ehcache-1.5.0.jar hibernate3.jar javassist-3.9.0.GA.jar jta-1.1.jar log4j-1.2.15.jar mysql-connector-java-5.1.11-bin.jar ojdbc6.jar ojdbc5.jar ojdbc14.jar slf4j-api-1.5.8.jar slf4j-log4j12-1.5.8.jar jsp-api.jar servlet-api.jar" /> ! <attribute name="Timetabling-Version" value="3.2_bld${build.number}"/> </manifest> </jar> *************** *** 126,130 **** <attribute name="Main-Class" value="org.unitime.timetable.solver.remote.core.StartupMinimal" /> <attribute name="Class-Path" value="tray-win32.jar" /> ! <attribute name="Timetabling-Version" value="3.1_bld${build.number}"/> </manifest> </jar> --- 145,149 ---- <attribute name="Main-Class" value="org.unitime.timetable.solver.remote.core.StartupMinimal" /> <attribute name="Class-Path" value="tray-win32.jar" /> ! <attribute name="Timetabling-Version" value="3.2_bld${build.number}"/> </manifest> </jar> *************** *** 137,143 **** <include name="*.jar" /> </fileset> - <fileset dir="${3rd_party.dir}"> - <include name="log4j-1.2.8.jar" /> - </fileset> </copy> <copy todir="${war.dir}/WEB-INF" overwrite="Yes" preservelastmodified="Yes"> --- 156,159 ---- *************** *** 170,173 **** --- 186,190 ---- <include name="scripts/**/*.gif" /> <exclude name="WEB-INF/classes/**/*.*" /> + <exclude name="unitime/**/*.*" /> <exclude name="test/**/*.*" /> </fileset> *************** *** 179,184 **** <copy todir="${dist.dir}" file="${war.dir}/help/Release-Notes.css"/> </target> ! <target name="compile-war" depends="timetable-jar,copy-libs,copy-jsp"> <copy todir="${war.dir}/WEB-INF/lib" file="${dist.dir}/timetable.jar"/> <jar destfile="${dist.dir}/UniTime.war"> --- 196,207 ---- <copy todir="${dist.dir}" file="${war.dir}/help/Release-Notes.css"/> </target> + + <target name="copy-gwt" depends="init, compile-gwt"> + <copy todir="${war.dir}" overwrite="Yes" preservelastmodified="Yes"> + <fileset dir="${temp.dir}/war"/> + </copy> + </target> ! <target name="compile-war" depends="timetable-jar,compile-gwt,copy-libs,copy-jsp,copy-gwt"> <copy todir="${war.dir}/WEB-INF/lib" file="${dist.dir}/timetable.jar"/> <jar destfile="${dist.dir}/UniTime.war"> *************** *** 187,191 **** </fileset> <manifest> ! <attribute name="Timetabling-Version" value="3.1_bld${build.number}"/> </manifest> </jar> --- 210,214 ---- </fileset> <manifest> ! <attribute name="Timetabling-Version" value="3.2_bld${build.number}"/> </manifest> </jar> *************** *** 208,217 **** <doctitle><![CDATA[ <table border='0' style='font-size: 11pt;font-weight: normal;'><tr><td align='left'> ! UniTime 3.1 (University Timetabling Application)<br> ! Copyright (C) 2008, UniTime LLC <br><br> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ! the Free Software Foundation; either version 2 of the License, or (at your option) any later version. <br><br> --- 231,240 ---- <doctitle><![CDATA[ <table border='0' style='font-size: 11pt;font-weight: normal;'><tr><td align='left'> ! UniTime 3.2 (University Timetabling Application)<br> ! Copyright (C) 2008 - 2010, UniTime LLC <br><br> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by ! the Free Software Foundation; either version 3 of the License, or (at your option) any later version. <br><br> *************** *** 222,227 **** <br><br> You should have received a copy of the GNU General Public License along ! with this program; if not, write to the Free Software Foundation, Inc., ! 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. </td></tr></table> ]]></doctitle> --- 245,249 ---- <br><br> You should have received a copy of the GNU General Public License along ! with this program. If not, see <a href='http://www.gnu.org/licenses/'>http://www.gnu.org/licenses/</a>. </td></tr></table> ]]></doctitle> *************** *** 246,250 **** </target> ! <target name="wiki" depends="compile-java"> <taskdef name="wikiget" classname="org.unitime.commons.ant.WikiGet"> <classpath refid="build.classpath"/> --- 268,273 ---- </target> ! <target name="help" depends="init"> ! <!-- <taskdef name="wikiget" classname="org.unitime.commons.ant.WikiGet"> <classpath refid="build.classpath"/> *************** *** 253,261 **** <delete dir="${dist.dir}/wiki" failonerror="false"/> <wikiget url="http://wiki.unitime.org" output="${dist.dir}/wiki"/> </target> ! <target name="build-dist" depends="compile-war,wiki"> ! <tar destfile="${dist.dir}/unitime-3.1_bld${build.number}.tar"> ! <tarfileset dir="${basedir}/Documentation/License" includes="gpl.txt" fullpath="license/gpl.txt"/> <tarfileset dir="${basedir}/Documentation" includes="ReadMe.txt" fullpath="doc/readme.txt"/> <tarfileset dir="${basedir}/Documentation/Interfaces" includes="*.dtd" prefix="doc/dtd"/> --- 276,296 ---- <delete dir="${dist.dir}/wiki" failonerror="false"/> <wikiget url="http://wiki.unitime.org" output="${dist.dir}/wiki"/> + --> + <java failonerror="true" fork="true" classname="com.google.sites.liberation.export.Main"> + <classpath> + <pathelement location="${3rd_party.dir}/google-sites-liberation-1.0.3.jar"/> + </classpath> + <arg value="-d"/> + <arg value="unitime.org"/> + <arg value="-w"/> + <arg value="help"/> + <arg value="-f"/> + <arg value="${dist.dir}/help"/> + </java> </target> ! <target name="build-dist" depends="compile-war,help"> ! <tar destfile="${dist.dir}/unitime-3.2_bld${build.number}.tar"> ! <tarfileset dir="${basedir}/Documentation/License" includes="*.txt" prefix="license"/> <tarfileset dir="${basedir}/Documentation" includes="ReadMe.txt" fullpath="doc/readme.txt"/> <tarfileset dir="${basedir}/Documentation/Interfaces" includes="*.dtd" prefix="doc/dtd"/> *************** *** 267,300 **** <tarfileset dir="${dist.dir}" includes="timetable.jar" prefix="solver"/> <tarfileset dir="${lib.dir}" prefix="solver"> ! <include name="cpsolver-all-1.1.jar"/> ! <include name="dom4j-1.6.1.jar"/> ! <include name="hibernate3.jar"/> ! <include name="commons-logging-1.1.jar"/> ! <include name="commons-collections-3.2.jar"/> ! <include name="cglib-2.1.3.jar"/> ! <include name="asm-attrs.jar"/> ! <include name="asm.jar"/> ! <include name="ehcache-1.2.3.jar"/> ! <include name="jta.jar"/> ! <include name="antlr-2.7.6.jar"/> ! <include name="commons-dbcp-1.2.2.jar"/> ! <include name="commons-pool-1.3.jar"/> ! <include name="mysql-connector-java-5.0.5-bin.jar"/> </tarfileset> <tarfileset dir="${3rd_party.dir}" prefix="solver"> <include name="jsp-api.jar"/> <include name="servlet-api.jar"/> - <include name="log4j-1.2.8.jar"/> - <include name="ojdbc14.jar"/> </tarfileset> ! <tarfileset dir="${dist.dir}/wiki" prefix="doc/wiki"/> <!-- <tarfileset dir="${dist.dir}/doc" prefix="doc/api"/> --> </tar> ! <gzip zipfile="${dist.dir}/unitime-3.1_bld${build.number}.tar.gz" src="${dist.dir}/unitime-3.1_bld${build.number}.tar"/> ! <delete file="${dist.dir}/unitime-3.1_bld${build.number}.tar"/> ! <zip destfile="${dist.dir}/unitime-3.1_bld${build.number}.zip"> ! <zipfileset dir="${basedir}/Documentation/License" includes="gpl.txt" fullpath="license/gpl.txt"/> <zipfileset dir="${basedir}/Documentation" includes="ReadMe.txt" fullpath="doc/readme.txt"/> <zipfileset dir="${basedir}/Documentation/Interfaces" includes="*.dtd" prefix="doc/dtd"/> --- 302,335 ---- <tarfileset dir="${dist.dir}" includes="timetable.jar" prefix="solver"/> <tarfileset dir="${lib.dir}" prefix="solver"> ! <include name="cpsolver-all-1.2.jar"/> <!-- CPSolver 1.2 --> ! <include name="dom4j-1.6.1.jar"/> <!-- CPSolver 1.2 required dependency --> ! <include name="log4j-1.2.15.jar"/> <!-- CPSolver 1.2 required dependency --> ! <include name="hibernate3.jar"/> <!-- Hibernate 3.5.2 --> ! <include name="jta-1.1.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="javassist-3.9.0.GA.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="antlr-2.7.6.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="commons-collections-3.2.1.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="ehcache-1.5.0.jar"/> <!-- Hibernate 3.5.2 optional dependency (ehcache) --> ! <include name="backport-util-concurrent.jar"/> <!-- Hibernate 3.5.2 optional dependency (ehcache) --> ! <include name="commons-dbcp-1.4.jar"/> <!-- Connection pool --> ! <include name="commons-pool-1.5.4.jar"/> <!-- Connection pool required dependency --> ! <include name="mysql-connector-java-5.1.11-bin.jar"/> <!-- MySQL connector classes --> ! <include name="commons-logging-1.1.1.jar"/> <!-- UniTime Logging --> ! <include name="slf4j-api-1.5.8.jar"/> <!-- Hibernate Logging --> ! <include name="slf4j-log4j12-1.5.8.jar"/> <!-- Hibernate Logging --> </tarfileset> <tarfileset dir="${3rd_party.dir}" prefix="solver"> <include name="jsp-api.jar"/> <include name="servlet-api.jar"/> </tarfileset> ! <tarfileset dir="${dist.dir}/help" prefix="doc/help"/> <!-- <tarfileset dir="${dist.dir}/doc" prefix="doc/api"/> --> </tar> ! <gzip zipfile="${dist.dir}/unitime-3.2_bld${build.number}.tar.gz" src="${dist.dir}/unitime-3.2_bld${build.number}.tar"/> ! <delete file="${dist.dir}/unitime-3.2_bld${build.number}.tar"/> ! <zip destfile="${dist.dir}/unitime-3.2_bld${build.number}.zip"> ! <zipfileset dir="${basedir}/Documentation/License" includes="*.txt" prefix="license"/> <zipfileset dir="${basedir}/Documentation" includes="ReadMe.txt" fullpath="doc/readme.txt"/> <zipfileset dir="${basedir}/Documentation/Interfaces" includes="*.dtd" prefix="doc/dtd"/> *************** *** 306,331 **** <zipfileset dir="${dist.dir}" includes="timetable.jar" prefix="solver"/> <zipfileset dir="${lib.dir}" prefix="solver"> ! <include name="cpsolver-all-1.1.jar"/> ! <include name="dom4j-1.6.1.jar"/> ! <include name="hibernate3.jar"/> ! <include name="commons-logging-1.1.jar"/> ! <include name="commons-collections-3.2.jar"/> ! <include name="cglib-2.1.3.jar"/> ! <include name="asm-attrs.jar"/> ! <include name="asm.jar"/> ! <include name="ehcache-1.2.3.jar"/> ! <include name="jta.jar"/> ! <include name="antlr-2.7.6.jar"/> ! <include name="commons-dbcp-1.2.2.jar"/> ! <include name="commons-pool-1.3.jar"/> ! <include name="mysql-connector-java-5.0.5-bin.jar"/> </zipfileset> <zipfileset dir="${3rd_party.dir}" prefix="solver"> <include name="jsp-api.jar"/> <include name="servlet-api.jar"/> - <include name="log4j-1.2.8.jar"/> - <include name="ojdbc14.jar"/> </zipfileset> ! <zipfileset dir="${dist.dir}/wiki" prefix="doc/wiki"/> <!-- <zipfileset dir="${dist.dir}/doc" prefix="doc/api"/> --- 341,366 ---- <zipfileset dir="${dist.dir}" includes="timetable.jar" prefix="solver"/> <zipfileset dir="${lib.dir}" prefix="solver"> ! <include name="cpsolver-all-1.2.jar"/> <!-- CPSolver 1.2 --> ! <include name="dom4j-1.6.1.jar"/> <!-- CPSolver 1.2 required dependency --> ! <include name="log4j-1.2.15.jar"/> <!-- CPSolver 1.2 required dependency --> ! <include name="hibernate3.jar"/> <!-- Hibernate 3.5.2 --> ! <include name="jta-1.1.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="javassist-3.9.0.GA.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="antlr-2.7.6.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="commons-collections-3.2.1.jar"/> <!-- Hibernate 3.5.2 required dependency --> ! <include name="ehcache-1.5.0.jar"/> <!-- Hibernate 3.5.2 optional dependency (ehcache) --> ! <include name="backport-util-concurrent.jar"/> <!-- Hibernate 3.5.2 optional dependency (ehcache) --> ! <include name="commons-dbcp-1.4.jar"/> <!-- Connection pool --> ! <include name="commons-pool-1.5.4.jar"/> <!-- Connection pool required dependency --> ! <include name="mysql-connector-java-5.1.11-bin.jar"/> <!-- MySQL connector classes --> ! <include name="commons-logging-1.1.1.jar"/> <!-- UniTime Logging --> ! <include name="slf4j-api-1.5.8.jar"/> <!-- Hibernate Logging --> ! <include name="slf4j-log4j12-1.5.8.jar"/> <!-- Hibernate Logging --> </zipfileset> <zipfileset dir="${3rd_party.dir}" prefix="solver"> <include name="jsp-api.jar"/> <include name="servlet-api.jar"/> </zipfileset> ! <zipfileset dir="${dist.dir}/help" prefix="doc/help"/> <!-- <zipfileset dir="${dist.dir}/doc" prefix="doc/api"/> *************** *** 345,348 **** --- 380,425 ---- </target> + + <target name="redeploy-gwt" depends="check-tomcat-home,load-properties"> + <path id="build.classpath"> + <fileset dir="${lib.dir}"> + <include name="*.jar"/> + </fileset> + <fileset dir="${3rd_party.dir}"> + <include name="*.jar" /> + </fileset> + </path> + <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> + <classpath refid="build.classpath" /> + <classpath path="JavaSource"/> + <jvmarg value="-Xmx600M"/> + <jvmarg value="${macJvmArgs}"/> + <arg value="-war"/> + <arg value="${env.TOMCAT_HOME}/webapps/UniTime"/> + <arg value="org.unitime.timetable.gwt.UniTime"/> + </java> + </target> + + <target name="redeploy-gwtdev" depends="check-tomcat-home,load-properties"> + <path id="build.classpath"> + <fileset dir="${lib.dir}"> + <include name="*.jar"/> + </fileset> + <fileset dir="${3rd_party.dir}"> + <include name="*.jar" /> + </fileset> + </path> + <java failonerror="true" fork="true" classname="com.google.gwt.dev.Compiler"> + <classpath refid="build.classpath" /> + <classpath path="JavaSource"/> + <jvmarg value="-Xmx600M"/> + <jvmarg value="${macJvmArgs}"/> + <arg value="-war"/> + <arg value="${env.TOMCAT_HOME}/webapps/UniTime"/> + <arg value="-draftCompile"/> + <arg value="org.unitime.timetable.gwt.UniTimeDev"/> + </java> + </target> + <target name="check-java-opts-def" depends="load-properties" if="env.JAVA_OPTS"> <property name="java.opts" value="${env.JAVA_OPTS}"/> *************** *** 382,405 **** <target name="check-jsp" depends="init,check-tomcat-home"> ! <java classname="org.apache.jasper.JspC" fork="yes"> ! <arg line="-uriroot ${jsp.dir} -d ${temp.dir} -p org.apache.jsp -webapp ${jsp.dir} -v -compile -source 1.5 -target 1.5" /> ! <classpath> ! <fileset dir="${lib.dir}"> ! <include name="*.jar"/> ! </fileset> ! <fileset dir="${env.TOMCAT_HOME}/lib"> ! <include name="*.jar"/> ! </fileset> ! <fileset dir="${env.TOMCAT_HOME}/bin"> ! <include name="*.jar"/> ! </fileset> ! <fileset dir="${3rd_party.dir}"> ! <include name="*.jar"/> ! </fileset> ! </classpath> </java> </target> <target name="build" depends="load-properties,compile-war,done" /> ! <target name="dist" depends="load-properties,compile-war,wiki,build-dist,done" /> </project> --- 459,529 ---- <target name="check-jsp" depends="init,check-tomcat-home"> ! <path id="build.classpath"> ! <fileset dir="${lib.dir}"> ! <include name="*.jar"/> ! </fileset> ! <fileset dir="${3rd_party.dir}"> ! <include name="*.jar" /> ! </fileset> ! </path> ! <javac source="1.5" target="1.5" destdir="${build.dir}" includes="org/unitime/commons/ant/CreateBaseModelFromXml.java" debug="true" includeantruntime="false"> ! <src path="${src.dir}" /> ! <classpath refid="build.classpath"/> ! </javac> ! <java classname="org.apache.jasper.JspC" fork="yes" failonerror="true"> ! <arg line="-uriroot ${jsp.dir} -d ${temp.dir} -p org.apache.jsp -webapp ${jsp.dir} -v -compile" /> ! <classpath refid="build.classpath"/> ! <classpath path="${build.dir}"/> </java> </target> + <target name="create-model" depends="init"> + <path id="build.classpath"> + <fileset dir="${lib.dir}"> + <include name="*.jar"/> + </fileset> + <fileset dir="${3rd_party.dir}"> + <include name="*.jar" /> + </fileset> + </path> + <javac source="1.5" target="1.5" destdir="${build.dir}" includes="org/unitime/commons/ant/CreateBaseModelFromXml.java" debug="true"> + <src path="${src.dir}" /> + <classpath refid="build.classpath"/> + </javac> + <taskdef name="create-model" classname="org.unitime.commons.ant.CreateBaseModelFromXml"> + <classpath refid="build.classpath"/> + <classpath path="${build.dir}"/> + </taskdef> + <create-model config="hibernate.cfg.xml" source="${src.dir}"/> + <delete dir="${build.dir}" failonerror="false"/> + <delete dir="${temp.dir}" failonerror="false"/> + </target> + + <target name="ldap-test" depends="init"> + <path id="build.classpath"> + <fileset dir="${lib.dir}"> + <include name="*.jar"/> + </fileset> + <fileset dir="${3rd_party.dir}"> + <include name="*.jar" /> + </fileset> + </path> + <javac source="1.5" target="1.5" destdir="${build.dir}" includes="org/unitime/timetable/authenticate/jaas/LdapTest.java" debug="true"> + <src path="${src.dir}" /> + <classpath refid="build.classpath"/> + </javac> + <jar destfile="${dist.dir}/ldap-test.jar"> + <fileset dir="${build.dir}"> + <include name="**/*.class" /> + </fileset> + <manifest> + <attribute name="Main-Class" value="org.unitime.timetable.authenticate.jaas.LdapTest" /> + </manifest> + </jar> + <delete dir="${build.dir}" failonerror="false"/> + <delete dir="${temp.dir}" failonerror="false"/> + </target> + <target name="build" depends="load-properties,compile-war,done" /> ! <target name="dist" depends="load-properties,compile-war,help,build-dist,done" /> </project> Index: .classpath =================================================================== RCS file: /cvsroot/unitime/UniTime/.classpath,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** .classpath 30 Mar 2010 16:05:37 -0000 1.6 --- .classpath 1 Dec 2010 11:10:50 -0000 1.7 *************** *** 2,63 **** <classpath> <classpathentry kind="src" path="JavaSource"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts.jar" sourcepath="/3rd_party/struts-1.2.9/src/share"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils.jar" sourcepath="/3rd_party/common-beanutils-1.7.0/src/java"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload.jar" sourcepath="/3rd_party/common-fileupload-1.1.1/src/java"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jaxen-full.jar" sourcepath="/3rd_party/jaxen-1.1b11/src/java/main"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jaxp-api.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jdbc2_0-stdext.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jstl.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/sax.jar" sourcepath="/3rd_party/sax-2.0.2/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/saxpath.jar" sourcepath="/3rd_party/saxpath-1.0/src/java/main"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/standard.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/xercesImpl.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/concurrent-1.3.3.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/connector.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jboss-cache.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jboss-common.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jboss-jmx.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jboss-system.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jta.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/junit-3.8.1.jar" sourcepath="/3rd_party/junit-4.1/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/proxool-0.8.3.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/swarmcache-1.0rc2.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/xalan-2.4.0.jar" sourcepath="/3rd_party/xalan-2.7.0/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/xml-apis.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate3.jar" sourcepath="/3rd_party/hibernate-3.2.2/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jakarta-oro.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/asm-attrs.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/asm.jar" sourcepath="/3rd_party/asm-3.0/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/ehcache-1.2.3.jar" sourcepath="/3rd_party/ehcache-1.2.0/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/oscache-2.1.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/versioncheck.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/xerces-2.6.2.jar" sourcepath="/3rd_party/xerces-2.8.1/src"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/Struts-Layout.jar" sourcepath="/3rd_party/struts-layout-1.2/src/library"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/antlr-2.7.6.jar" sourcepath="/3rd_party/antlr-2.7.7/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/cglib-2.1.3.jar" sourcepath="/3rd_party/cglib-2.1.3/src/proxy"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/dom4j-1.6.1.jar" sourcepath="/3rd_party/dom4j-1.6.1/src/java"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jgroups-2.2.8.jar" sourcepath="/3rd_party/jgroups-2.4.0/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/itext-1.4.5.jar" sourcepath="/3rd_party/itext-1.4.5/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-pool-1.3.jar" sourcepath="/3rd_party/commons-pool-1.3/src/java"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/c3p0-0.9.1.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-bean-collections.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-core.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-codec-1.3.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-configuration-1.4.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-dbcp-1.2.2.jar"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-digester-1.8.jar"/> - <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-jxpath-1.2.jar"/> - <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-lang-2.3.jar"/> - <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.jar"/> - <classpathentry kind="lib" path="WebContent/WEB-INF/lib/cpsolver-all-1.1.jar" sourcepath="/cpsolver_v1/src"/> - <classpathentry kind="lib" path="3rd_party/log4j-1.2.8.jar"/> - <classpathentry kind="lib" path="3rd_party/ojdbc14.jar"/> <classpathentry kind="lib" path="3rd_party/ant.jar"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mail.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/activation.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-5.0.5-bin.jar"/> <classpathentry kind="output" path="WebContent/WEB-INF/classes"/> </classpath> --- 2,51 ---- <classpath> <classpathentry kind="src" path="JavaSource"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/hibernate3.jar" sourcepath="/3rd_party/hibernate-3.5.3"/> <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> <classpathentry kind="con" path="com.genuitec.eclipse.j2eedt.core.J2EE14_CONTAINER"/> ! <classpathentry kind="con" path="com.google.gwt.eclipse.core.GWT_CONTAINER"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/antlr-2.7.6.jar" sourcepath="/3rd_party/antlr-2.7.7/src"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/dom4j-1.6.1.jar" sourcepath="/3rd_party/dom4j-1.6.1"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-digester-1.8.jar"/> <classpathentry kind="lib" path="3rd_party/ant.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/gwt-servlet.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/cpsolver-all-1.2.jar" sourcepath="/cpsolver_v1"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/javassist-3.9.0.GA.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/bsf-2.3.0.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-beanutils-1.8.0.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-chain-1.2.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-dbcp-1.4.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-fileupload-1.1.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-io-1.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-validator-1.3.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/ehcache-1.5.0.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jstl-1.0.2.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/jta-1.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/log4j-1.2.15.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mysql-connector-java-5.1.11-bin.jar"/> + <classpathentry kind="lib" path="3rd_party/ojdbc6.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/oro-2.0.8.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-api-1.5.8.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/slf4j-log4j12-1.5.8.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/standard-1.0.6.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-core-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-el-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-extras-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-faces-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-mailreader-dao-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-scripting-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-taglib-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/struts-tiles-1.3.10.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-collections-3.2.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-logging-1.1.1.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-pool-1.5.4.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/iText-5.0.2.jar" sourcepath="/3rd_party/iText-5.0.2"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/Struts-Layout-1.3.jar" sourcepath="/3rd_party/struts-layout-1.3"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/commons-configuration-1.6.jar"/> + <classpathentry kind="lib" path="WebContent/WEB-INF/lib/backport-util-concurrent.jar"/> <classpathentry kind="lib" path="WebContent/WEB-INF/lib/mail.jar"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.restlet.jar" sourcepath="/3rd_party/org.restlet"/> ! <classpathentry kind="lib" path="WebContent/WEB-INF/lib/org.restlet.ext.net.jar"/> <classpathentry kind="output" path="WebContent/WEB-INF/classes"/> </classpath> Index: .mymetadata =================================================================== RCS file: /cvsroot/unitime/UniTime/.mymetadata,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 *** .mymetadata 12 Jun 2007 02:27:36 -0000 1.1 --- .mymetadata 1 Dec 2010 11:10:50 -0000 1.2 *************** *** 1,3 **** ! <?xml version="1.0" encoding="UTF-8"?> <project-module type="WEB" --- 1,3 ---- ! <?xml version="1.0" encoding="UTF-8"?> <project-module type="WEB" *************** *** 6,13 **** context-root="/UniTime" j2ee-spec="1.4" ! archive="UniTime.war"> ! <attributes> ! <attribute name="webrootdir" value="/WebContent" /> ! </attributes> ! </project-module> ! --- 6,13 ---- context-root="/UniTime" j2ee-spec="1.4" ! archive="UniTime.war"> ! <attributes> ! <attribute name="webrootdir" value="/WebContent" /> ! </attributes> ! </project-module> ! Index: build.number =================================================================== RCS file: /cvsroot/unitime/UniTime/build.number,v retrieving revision 1.27 retrieving revision 1.28 diff -C2 -d -r1.27 -r1.28 *** build.number 1 Dec 2010 08:53:17 -0000 1.27 --- build.number 1 Dec 2010 11:10:50 -0000 1.28 *************** *** 1,3 **** #Build Number for ANT. Do not edit! ! #Thu Nov 25 01:01:05 CET 2010 ! build.number=292 --- 1,3 ---- #Build Number for ANT. Do not edit! ! #Wed Dec 01 00:30:35 CET 2010 ! build.number=94 Index: build.properties =================================================================== RCS file: /cvsroot/unitime/UniTime/build.properties,v retrieving revision 1.4 retrieving revision 1.5 diff -C2 -d -r1.4 -r1.5 *** build.properties 17 Jun 2008 21:24:57 -0000 1.4 --- build.properties 1 Dec 2010 11:10:50 -0000 1.5 *************** *** 1,8 **** ! # UniTime 3.1 (University Timetabling Application) ! # Copyright (C) 2008, UniTime LLC # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by ! # the Free Software Foundation; either version 2 of the License, or # (at your option) any later version. # --- 1,8 ---- ! # UniTime 3.2 (University Timetabling Application) ! # Copyright (C) 2008 - 2010, UniTime LLC # # This program is free software; you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by ! # the Free Software Foundation; either version 3 of the License, or # (at your option) any later version. # *************** *** 13,18 **** # # You should have received a copy of the GNU General Public License along ! # with this program; if not, write to the Free Software Foundation, Inc., ! # 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. ############################################################################# --- 13,18 ---- # # You should have received a copy of the GNU General Public License along ! # with this program. If not, see <http://www.gnu.org/licenses/>. ! # ############################################################################# *************** *** 41,42 **** --- 41,45 ---- java.debug=true java.optimize=true + + #Build tag (to be attached next to the build number) + build.tag= \ No newline at end of file |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/solver/remote Modified Files: RemoteSolverProxy.java RemoteSolver.java RemoteSolverProxyFactory.java SolverRegisterService.java BackupFileFilter.java RemoteSolverServerProxy.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: RemoteSolverProxyFactory.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/RemoteSolverProxyFactory.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RemoteSolverProxyFactory.java 17 Jun 2008 21:25:01 -0000 1.2 --- RemoteSolverProxyFactory.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; Index: SolverRegisterService.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/SolverRegisterService.java,v retrieving revision 1.15 retrieving revision 1.16 diff -C2 -d -r1.15 -r1.16 *** SolverRegisterService.java 1 Aug 2009 18:15:55 -0000 1.15 --- SolverRegisterService.java 1 Dec 2010 11:10:50 -0000 1.16 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; *************** *** 60,64 **** */ public class SolverRegisterService extends Thread { - private static java.text.SimpleDateFormat sDateFormat = new java.text.SimpleDateFormat("yyMMdd_HHmmss",java.util.Locale.US); static Log sLog = LogFactory.getLog(SolverRegisterService.class); private static SolverRegisterService sInstance = null; --- 60,63 ---- Index: RemoteSolverProxy.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/RemoteSolverProxy.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** RemoteSolverProxy.java 17 Jun 2008 21:25:01 -0000 1.2 --- RemoteSolverProxy.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; Index: RemoteSolverServerProxy.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/RemoteSolverServerProxy.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** RemoteSolverServerProxy.java 7 Jul 2008 21:13:41 -0000 1.6 --- RemoteSolverServerProxy.java 1 Dec 2010 11:10:50 -0000 1.7 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; Index: BackupFileFilter.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/BackupFileFilter.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** BackupFileFilter.java 17 Jun 2008 21:25:01 -0000 1.2 --- BackupFileFilter.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; Index: RemoteSolver.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/remote/RemoteSolver.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** RemoteSolver.java 23 Nov 2010 19:23:31 -0000 1.7 --- RemoteSolver.java 1 Dec 2010 11:10:50 -0000 1.8 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.remote; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.remote; *************** *** 344,347 **** --- 344,355 ---- try { System.out.println("configure "+properties.getProperty("General.Output",".")); + // remove unitime logger + for (Iterator<Map.Entry<Object, Object>> i = properties.entrySet().iterator(); i.hasNext(); ) { + Map.Entry<Object, Object> entry = i.next(); + String name = entry.getKey().toString(); + if (name.startsWith("log4j.appender.unitime") || + (name.startsWith("log4j.logger.") && entry.getValue().toString().endsWith(", unitime"))) + i.remove(); + } String logFile = ToolBox.configureLogging(properties.getProperty("General.Output","."),properties); if (SolverTray.isInitialized()) *************** *** 379,383 **** classLoader.loadClass("org.dom4j.DocumentHelper"); classLoader.loadClass("org.unitime.commons.ToolBox"); - classLoader.loadClass("org.unitime.commons.ToolBox$LineOutputStream"); classLoader.loadClass("org.dom4j.io.XMLWriter"); classLoader.loadClass("org.hibernate.proxy.HibernateProxy"); --- 387,390 ---- *************** *** 388,392 **** sInitialized = true; } catch (Exception e) { ! e.printStackTrace(); throw e; } --- 395,399 ---- sInitialized = true; } catch (Exception e) { ! sLog.fatal("Solver initialization failed", e); throw e; } |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:29
|
Update of /cvsroot/unitime/UniTime/WebContent/images In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/images Modified Files: logo.jpg logofaded.jpg loading.gif Added Files: header.png dialog-close.png unitime.png dialog-close.gif Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) --- NEW FILE: unitime.png --- (This appears to be a binary file; contents omitted.) Index: loading.gif =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/images/loading.gif,v retrieving revision 1.1 retrieving revision 1.2 diff -C2 -d -r1.1 -r1.2 Binary files /tmp/cvslHkPkq and /tmp/cvsQoiO1G differ Index: logofaded.jpg =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/images/logofaded.jpg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvsHejrCq and /tmp/cvsxF3kkH differ Index: logo.jpg =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/images/logo.jpg,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 Binary files /tmp/cvs4NaHQq and /tmp/cvsyf7yzH differ --- NEW FILE: dialog-close.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: header.png --- (This appears to be a binary file; contents omitted.) --- NEW FILE: dialog-close.gif --- (This appears to be a binary file; contents omitted.) |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/solver/exam Modified Files: ExamTest.java ExamResourceUnavailability.java ExamLoader.java ExamSolverProxy.java ExamSolverProxyFactory.java ExamSuggestions.java ExamDatabaseSaver.java ExamAssignmentProxy.java ExamDatabaseLoader.java ExamModel.java ExamSolver.java ExamSaver.java RemoteExamSolverProxy.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: ExamAssignmentProxy.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamAssignmentProxy.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExamAssignmentProxy.java 17 Jun 2008 21:24:51 -0000 1.6 --- ExamAssignmentProxy.java 1 Dec 2010 11:10:48 -0000 1.7 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; Index: ExamLoader.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamLoader.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExamLoader.java 17 Jun 2008 21:24:51 -0000 1.6 --- ExamLoader.java 1 Dec 2010 11:10:48 -0000 1.7 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; Index: ExamSolverProxy.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamSolverProxy.java,v retrieving revision 1.14 retrieving revision 1.15 diff -C2 -d -r1.14 -r1.15 *** ExamSolverProxy.java 17 Jun 2008 21:24:51 -0000 1.14 --- ExamSolverProxy.java 1 Dec 2010 11:10:48 -0000 1.15 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; *************** *** 23,27 **** import java.util.Collection; import java.util.Date; - import java.util.Hashtable; import java.util.Map; import java.util.Vector; --- 23,26 ---- *************** *** 57,62 **** public void saveBest(); public void clear(); ! public Hashtable currentSolutionInfo(); ! public Hashtable bestSolutionInfo(); public boolean isWorking(); --- 56,61 ---- public void saveBest(); public void clear(); ! public Map<String,String> currentSolutionInfo(); ! public Map<String,String> bestSolutionInfo(); public boolean isWorking(); *************** *** 103,105 **** --- 102,106 ---- public boolean passivateIfNeeded(File folder, String puid); public Date getLastUsed(); + + public void interrupt(); } Index: ExamSaver.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamSaver.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ExamSaver.java 17 Jun 2008 21:24:51 -0000 1.5 --- ExamSaver.java 1 Dec 2010 11:10:48 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; Index: ExamResourceUnavailability.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamResourceUnavailability.java,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** ExamResourceUnavailability.java 20 Jun 2008 22:27:48 -0000 1.3 --- ExamResourceUnavailability.java 1 Dec 2010 11:10:48 -0000 1.4 *************** *** 1,2 **** --- 1,21 ---- + /* + * UniTime 3.2 (University Timetabling Application) + * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors + * as indicated by the @authors tag. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.unitime.timetable.solver.exam; Index: ExamTest.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamTest.java,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** ExamTest.java 17 Jun 2008 21:24:51 -0000 1.5 --- ExamTest.java 1 Dec 2010 11:10:48 -0000 1.6 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; *************** *** 119,124 **** solver.currentSolution().addSolutionListener(new SolutionListener() { public void solutionUpdated(Solution solution) {} ! public void getInfo(Solution solution, java.util.Dictionary info) {} ! public void getInfo(Solution solution, java.util.Dictionary info, java.util.Vector variables) {} public void bestCleared(Solution solution) {} public void bestSaved(Solution solution) { --- 119,124 ---- solver.currentSolution().addSolutionListener(new SolutionListener() { public void solutionUpdated(Solution solution) {} ! public void getInfo(Solution solution, java.util.Map info) {} ! public void getInfo(Solution solution, java.util.Map info, java.util.Collection variables) {} public void bestCleared(Solution solution) {} public void bestSaved(Solution solution) { Index: ExamSolver.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamSolver.java,v retrieving revision 1.25 retrieving revision 1.26 diff -C2 -d -r1.25 -r1.26 *** ExamSolver.java 17 Jun 2008 21:24:51 -0000 1.25 --- ExamSolver.java 1 Dec 2010 11:10:48 -0000 1.26 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; *************** *** 26,33 **** import java.util.Collection; import java.util.Date; - import java.util.Enumeration; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; import java.util.Map; import java.util.Set; --- 26,33 ---- import java.util.Collection; import java.util.Date; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; + import java.util.List; import java.util.Map; import java.util.Set; *************** *** 41,44 **** --- 41,45 ---- import org.dom4j.io.SAXReader; import org.dom4j.io.XMLWriter; + import org.unitime.timetable.ApplicationProperties; import org.unitime.timetable.model.dao.SubjectAreaDAO; import org.unitime.timetable.solver.exam.ui.ExamAssignment; *************** *** 65,69 **** import net.sf.cpsolver.ifs.extension.Extension; import net.sf.cpsolver.ifs.model.Constraint; - import net.sf.cpsolver.ifs.model.Value; import net.sf.cpsolver.ifs.solution.Solution; import net.sf.cpsolver.ifs.solver.Solver; --- 66,69 ---- *************** *** 77,81 **** * @author Tomas Muller */ ! public class ExamSolver extends Solver implements ExamSolverProxy { private static Log sLog = LogFactory.getLog(ExamSolver.class); private int iDebugLevel = Progress.MSGLEVEL_INFO; --- 77,81 ---- * @author Tomas Muller */ ! public class ExamSolver extends Solver<Exam, ExamPlacement> implements ExamSolverProxy { private static Log sLog = LogFactory.getLog(ExamSolver.class); private int iDebugLevel = Progress.MSGLEVEL_INFO; *************** *** 88,96 **** private boolean iIsPassivated = false; private Map iProgressBeforePassivation = null; ! private Hashtable iCurrentSolutionInfoBeforePassivation = null; ! private Hashtable iBestSolutionInfoBeforePassivation = null; private File iPassivationFolder = null; private String iPassivationPuid = null; ! public static long sInactiveTimeToPassivate = 1800000; --- 88,96 ---- private boolean iIsPassivated = false; private Map iProgressBeforePassivation = null; ! private Map<String,String> iCurrentSolutionInfoBeforePassivation = null; ! private Map<String,String> iBestSolutionInfoBeforePassivation = null; private File iPassivationFolder = null; private String iPassivationPuid = null; ! private Thread iWorkThread = null; *************** *** 102,108 **** public Date getLoadedDate() { if (iLoadedDate==null && !isPassivated()) { ! Vector log = Progress.getInstance(currentSolution().getModel()).getLog(); if (log!=null && !log.isEmpty()) { ! iLoadedDate = ((Progress.Message)log.firstElement()).getDate(); } } --- 102,108 ---- public Date getLoadedDate() { if (iLoadedDate==null && !isPassivated()) { ! List<Progress.Message> log = Progress.getInstance(currentSolution().getModel()).getLog(); if (log!=null && !log.isEmpty()) { ! iLoadedDate = log.get(0).getDate(); } } *************** *** 191,196 **** public Exam getExam(long examId) { synchronized (currentSolution()) { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getId()==examId) return exam; } --- 191,195 ---- public Exam getExam(long examId) { synchronized (currentSolution()) { ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getId()==examId) return exam; } *************** *** 226,231 **** if (exam==null) return null; ExamPeriodPlacement period = null; ! for (Enumeration e=exam.getPeriodPlacements().elements();e.hasMoreElements();) { ! ExamPeriodPlacement p = (ExamPeriodPlacement)e.nextElement(); if (p.getId().equals(assignment.getPeriodId())) { period = p; break; } } --- 225,229 ---- if (exam==null) return null; ExamPeriodPlacement period = null; ! for (ExamPeriodPlacement p: exam.getPeriodPlacements()) { if (p.getId().equals(assignment.getPeriodId())) { period = p; break; } } *************** *** 235,240 **** Long roomId = roomInfo.getLocationId(); ExamRoomPlacement room = null; ! for (Enumeration e=exam.getRoomPlacements().elements();e.hasMoreElements();) { ! ExamRoomPlacement r = (ExamRoomPlacement)e.nextElement(); if (r.getId()==roomId) { room = r; break; } } --- 233,237 ---- Long roomId = roomInfo.getLocationId(); ExamRoomPlacement room = null; ! for (ExamRoomPlacement r: exam.getRoomPlacements()) { if (r.getId()==roomId) { room = r; break; } } *************** *** 250,264 **** if (exam==null) return null; ExamPeriodPlacement period = null; ! for (Enumeration e=exam.getPeriodPlacements().elements();e.hasMoreElements();) { ! ExamPeriodPlacement p = (ExamPeriodPlacement)e.nextElement(); if (p.getId().equals(periodId)) { period = p; break; } } if (period==null) return null; HashSet rooms = new HashSet(); ! for (Iterator i=roomIds.iterator();i.hasNext();) { ! Long roomId = (Long)i.next(); ExamRoomPlacement room = null; ! for (Enumeration e=exam.getRoomPlacements().elements();e.hasMoreElements();) { ! ExamRoomPlacement r = (ExamRoomPlacement)e.nextElement(); if (r.getId()==roomId) { room = r; break; } } --- 247,258 ---- if (exam==null) return null; ExamPeriodPlacement period = null; ! for (ExamPeriodPlacement p: exam.getPeriodPlacements()) { if (p.getId().equals(periodId)) { period = p; break; } } if (period==null) return null; HashSet rooms = new HashSet(); ! for (Long roomId: roomIds) { ExamRoomPlacement room = null; ! for (ExamRoomPlacement r: exam.getRoomPlacements()) { if (r.getId()==roomId) { room = r; break; } } *************** *** 274,279 **** if (exam==null) return "Examination "+assignment.getExamName()+" not found."; ExamPeriodPlacement period = null; ! for (Enumeration e=exam.getPeriodPlacements().elements();e.hasMoreElements();) { ! ExamPeriodPlacement p = (ExamPeriodPlacement)e.nextElement(); if (p.getId().equals(assignment.getPeriodId())) { period = p; break; } } --- 268,272 ---- if (exam==null) return "Examination "+assignment.getExamName()+" not found."; ExamPeriodPlacement period = null; ! for (ExamPeriodPlacement p: exam.getPeriodPlacements()) { if (p.getId().equals(assignment.getPeriodId())) { period = p; break; } } *************** *** 283,288 **** ExamRoomInfo ri = (ExamRoomInfo)i.next(); ExamRoomPlacement room = null; ! for (Enumeration e=exam.getRoomPlacements().elements();e.hasMoreElements();) { ! ExamRoomPlacement r = (ExamRoomPlacement)e.nextElement(); if (r.getId()==ri.getLocationId()) { room = r; break; } } --- 276,280 ---- ExamRoomInfo ri = (ExamRoomInfo)i.next(); ExamRoomPlacement room = null; ! for (ExamRoomPlacement r: exam.getRoomPlacements()) { if (r.getId()==ri.getLocationId()) { room = r; break; } } *************** *** 314,318 **** ! public Hashtable currentSolutionInfo() { if (isPassivated()) return iCurrentSolutionInfoBeforePassivation; synchronized (super.currentSolution()) { --- 306,310 ---- ! public Map<String,String> currentSolutionInfo() { if (isPassivated()) return iCurrentSolutionInfoBeforePassivation; synchronized (super.currentSolution()) { *************** *** 321,325 **** } ! public Hashtable bestSolutionInfo() { if (isPassivated()) return iBestSolutionInfoBeforePassivation; synchronized (super.currentSolution()) { --- 313,317 ---- } ! public Map<String,String> bestSolutionInfo() { if (isPassivated()) return iBestSolutionInfoBeforePassivation; synchronized (super.currentSolution()) { *************** *** 360,366 **** ExamDatabaseSaver saver = new ExamDatabaseSaver(this); saver.setCallback(getSavingDoneCallback()); ! Thread thread = new Thread(saver); ! thread.setPriority(THREAD_PRIORITY); ! thread.start(); } --- 352,358 ---- ExamDatabaseSaver saver = new ExamDatabaseSaver(this); saver.setCallback(getSavingDoneCallback()); ! iWorkThread = new Thread(saver); ! iWorkThread.setPriority(THREAD_PRIORITY); ! iWorkThread.start(); } *************** *** 377,383 **** ExamDatabaseLoader loader = new ExamDatabaseLoader(model); loader.setCallback(getLoadingDoneCallback()); ! Thread thread = new Thread(loader); ! thread.setPriority(THREAD_PRIORITY); ! thread.start(); } --- 369,375 ---- ExamDatabaseLoader loader = new ExamDatabaseLoader(model); loader.setCallback(getLoadingDoneCallback()); ! iWorkThread = new Thread(loader); ! iWorkThread.setPriority(THREAD_PRIORITY); ! iWorkThread.start(); } *************** *** 399,403 **** ExamDatabaseLoader loader = new ExamDatabaseLoader(model); loader.setCallback(callBack); ! (new Thread(loader)).start(); } --- 391,396 ---- ExamDatabaseLoader loader = new ExamDatabaseLoader(model); loader.setCallback(callBack); ! iWorkThread = new Thread(loader); ! iWorkThread.start(); } *************** *** 431,436 **** public ReloadingDoneCallback() { iSolutionId = getProperties().getProperty("General.SolutionId"); ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getAssignment()!=null) iCurrentAssignmentTable.put(exam.getId(),exam.getAssignment()); --- 424,428 ---- public ReloadingDoneCallback() { iSolutionId = getProperties().getProperty("General.SolutionId"); ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getAssignment()!=null) iCurrentAssignmentTable.put(exam.getId(),exam.getAssignment()); *************** *** 442,447 **** } private Exam getExam(long examId) { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getId()==examId) return exam; } --- 434,438 ---- } private Exam getExam(long examId) { ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getId()==examId) return exam; } *************** *** 450,455 **** private ExamPlacement getPlacement(Exam exam, ExamPlacement placement) { ExamPeriodPlacement period = null; ! for (Enumeration f=exam.getPeriodPlacements().elements();f.hasMoreElements();) { ! ExamPeriodPlacement p = (ExamPeriodPlacement)f.nextElement(); if (placement.getPeriod().equals(p.getPeriod())) { period = p; break; --- 441,445 ---- private ExamPlacement getPlacement(Exam exam, ExamPlacement placement) { ExamPeriodPlacement period = null; ! for (ExamPeriodPlacement p: exam.getPeriodPlacements()) { if (placement.getPeriod().equals(p.getPeriod())) { period = p; break; *************** *** 474,478 **** } private void assign(ExamPlacement placement) { ! Hashtable conflictConstraints = currentSolution().getModel().conflictConstraints(placement); if (conflictConstraints.isEmpty()) { placement.variable().assign(0,placement); --- 464,468 ---- } private void assign(ExamPlacement placement) { ! Map<Constraint<Exam,ExamPlacement>, Set<ExamPlacement>> conflictConstraints = currentSolution().getModel().conflictConstraints(placement); if (conflictConstraints.isEmpty()) { placement.variable().assign(0,placement); *************** *** 480,488 **** iProgress.warn("Unable to assign "+placement.variable().getName()+" := "+placement.getName()); iProgress.warn(" Reason:"); ! for (Enumeration ex=conflictConstraints.keys();ex.hasMoreElements();) { ! Constraint c = (Constraint)ex.nextElement(); ! Collection vals = (Collection)conflictConstraints.get(c); ! for (Iterator j=vals.iterator();j.hasNext();) { ! Value v = (Value) j.next(); iProgress.warn(" "+v.variable().getName()+" = "+v.getName()); } --- 470,476 ---- iProgress.warn("Unable to assign "+placement.variable().getName()+" := "+placement.getName()); iProgress.warn(" Reason:"); ! for (Constraint<Exam,ExamPlacement> c: conflictConstraints.keySet()) { ! Set<ExamPlacement> vals = conflictConstraints.get(c); ! for (ExamPlacement v: vals) { iProgress.warn(" "+v.variable().getName()+" = "+v.getName()); } *************** *** 492,497 **** } private void unassignAll() { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getAssignment()!=null) exam.unassign(0); } --- 480,484 ---- } private void unassignAll() { ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getAssignment()!=null) exam.unassign(0); } *************** *** 680,685 **** public void clear() { synchronized (currentSolution()) { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getAssignment()!=null) exam.unassign(0); } --- 667,671 ---- public void clear() { synchronized (currentSolution()) { ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getAssignment()!=null) exam.unassign(0); } *************** *** 691,696 **** synchronized (currentSolution()) { Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getAssignment()!=null) ret.add(new ExamAssignmentInfo((ExamPlacement)exam.getAssignment())); --- 677,681 ---- synchronized (currentSolution()) { Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getAssignment()!=null) ret.add(new ExamAssignmentInfo((ExamPlacement)exam.getAssignment())); *************** *** 702,707 **** synchronized (currentSolution()) { Vector<ExamInfo> ret = new Vector<ExamInfo>(); ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (exam.getAssignment()==null) ret.add(new ExamInfo(exam)); --- 687,691 ---- synchronized (currentSolution()) { Vector<ExamInfo> ret = new Vector<ExamInfo>(); ! for (Exam exam: currentSolution().getModel().variables()) { if (exam.getAssignment()==null) ret.add(new ExamInfo(exam)); *************** *** 716,724 **** synchronized (currentSolution()) { Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); boolean hasSubjectArea = false; ! for (Enumeration f=exam.getOwners().elements();!hasSubjectArea && f.hasMoreElements();) { ! ExamOwner ecs = (ExamOwner)f.nextElement(); hasSubjectArea = ecs.getName().startsWith(sa); } --- 700,707 ---- synchronized (currentSolution()) { Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Exam exam: currentSolution().getModel().variables()) { boolean hasSubjectArea = false; ! for (Iterator<ExamOwner> f=exam.getOwners().iterator();!hasSubjectArea && f.hasNext();) { ! ExamOwner ecs = (ExamOwner)f.next(); hasSubjectArea = ecs.getName().startsWith(sa); } *************** *** 734,742 **** synchronized (currentSolution()) { Vector<ExamInfo> ret = new Vector<ExamInfo>(); ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); boolean hasSubjectArea = false; ! for (Enumeration f=exam.getOwners().elements();!hasSubjectArea && f.hasMoreElements();) { ! ExamOwner ecs = (ExamOwner)f.nextElement(); hasSubjectArea = ecs.getName().startsWith(sa); } --- 717,724 ---- synchronized (currentSolution()) { Vector<ExamInfo> ret = new Vector<ExamInfo>(); ! for (Exam exam: currentSolution().getModel().variables()) { boolean hasSubjectArea = false; ! for (Iterator<ExamOwner> f=exam.getOwners().iterator();!hasSubjectArea && f.hasNext();) { ! ExamOwner ecs = f.next(); hasSubjectArea = ecs.getName().startsWith(sa); } *************** *** 751,756 **** synchronized (currentSolution()) { ExamRoom room = null; ! for (Enumeration e=((ExamModel)currentSolution().getModel()).getRooms().elements();e.hasMoreElements();) { ! ExamRoom r = (ExamRoom)e.nextElement(); if (r.getId()==roomId) { room = r; break; --- 733,737 ---- synchronized (currentSolution()) { ExamRoom room = null; ! for (ExamRoom r: ((ExamModel)currentSolution().getModel()).getRooms()) { if (r.getId()==roomId) { room = r; break; *************** *** 759,764 **** if (room==null) return null; Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Enumeration e=((ExamModel)currentSolution().getModel()).getPeriods().elements();e.hasMoreElements();) { ! ExamPeriod period = (ExamPeriod)e.nextElement(); ExamPlacement placement = room.getPlacement(period); if (placement!=null) --- 740,744 ---- if (room==null) return null; Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (ExamPeriod period: ((ExamModel)currentSolution().getModel()).getPeriods()) { ExamPlacement placement = room.getPlacement(period); if (placement!=null) *************** *** 772,777 **** synchronized (currentSolution()) { ExamInstructor instructor = null; ! for (Enumeration e=((ExamModel)currentSolution().getModel()).getRooms().elements();e.hasMoreElements();) { ! ExamInstructor i = (ExamInstructor)e.nextElement(); if (i.getId()==instructorId) { instructor = i; break; --- 752,756 ---- synchronized (currentSolution()) { ExamInstructor instructor = null; ! for (ExamInstructor i: ((ExamModel)currentSolution().getModel()).getInstructors()) { if (i.getId()==instructorId) { instructor = i; break; *************** *** 780,785 **** if (instructor==null) return null; Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (Enumeration e=((ExamModel)currentSolution().getModel()).getPeriods().elements();e.hasMoreElements();) { ! ExamPeriod period = (ExamPeriod)e.nextElement(); Set exams = instructor.getExams(period); if (exams!=null) --- 759,763 ---- if (instructor==null) return null; Vector<ExamAssignmentInfo> ret = new Vector<ExamAssignmentInfo>(); ! for (ExamPeriod period: ((ExamModel)currentSolution().getModel()).getPeriods()) { Set exams = instructor.getExams(period); if (exams!=null) *************** *** 801,810 **** Vector<ExamAssignmentInfo[]> changes = new Vector<ExamAssignmentInfo[]>(); synchronized (currentSolution()) { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (sa!=null) { boolean hasSubjectArea = false; ! for (Enumeration f=exam.getOwners().elements();!hasSubjectArea && f.hasMoreElements();) { ! ExamOwner ecs = (ExamOwner)f.nextElement(); hasSubjectArea = ecs.getName().startsWith(sa); } --- 779,787 ---- Vector<ExamAssignmentInfo[]> changes = new Vector<ExamAssignmentInfo[]>(); synchronized (currentSolution()) { ! for (Exam exam: currentSolution().getModel().variables()) { if (sa!=null) { boolean hasSubjectArea = false; ! for (Iterator<ExamOwner> f=exam.getOwners().iterator();!hasSubjectArea && f.hasNext();) { ! ExamOwner ecs = f.next(); hasSubjectArea = ecs.getName().startsWith(sa); } *************** *** 825,834 **** Vector<ExamAssignmentInfo[]> changes = new Vector<ExamAssignmentInfo[]>(); synchronized (currentSolution()) { ! for (Enumeration e=currentSolution().getModel().variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); if (sa!=null) { boolean hasSubjectArea = false; ! for (Enumeration f=exam.getOwners().elements();!hasSubjectArea && f.hasMoreElements();) { ! ExamOwner ecs = (ExamOwner)f.nextElement(); hasSubjectArea = ecs.getName().startsWith(sa); } --- 802,810 ---- Vector<ExamAssignmentInfo[]> changes = new Vector<ExamAssignmentInfo[]>(); synchronized (currentSolution()) { ! for (Exam exam: currentSolution().getModel().variables()) { if (sa!=null) { boolean hasSubjectArea = false; ! for (Iterator<ExamOwner> f=exam.getOwners().iterator();!hasSubjectArea && f.hasNext();) { ! ExamOwner ecs = f.next(); hasSubjectArea = ecs.getName().startsWith(sa); } *************** *** 851,856 **** public ExamConflictStatisticsInfo getCbsInfo() { ConflictStatistics cbs = null; ! for (Enumeration e=getExtensions().elements();e.hasMoreElements();) { ! Extension ext = (Extension)e.nextElement(); if (ext instanceof ConflictStatistics) { cbs = (ConflictStatistics)ext; --- 827,831 ---- public ExamConflictStatisticsInfo getCbsInfo() { ConflictStatistics cbs = null; ! for (Extension ext: getExtensions()) { if (ext instanceof ConflictStatistics) { cbs = (ConflictStatistics)ext; *************** *** 871,876 **** public ExamConflictStatisticsInfo getCbsInfo(Long examId) { ConflictStatistics cbs = null; ! for (Enumeration e=getExtensions().elements();e.hasMoreElements();) { ! Extension ext = (Extension)e.nextElement(); if (ext instanceof ConflictStatistics) { cbs = (ConflictStatistics)ext; --- 846,850 ---- public ExamConflictStatisticsInfo getCbsInfo(Long examId) { ConflictStatistics cbs = null; ! for (Extension ext: getExtensions()) { if (ext instanceof ConflictStatistics) { cbs = (ConflictStatistics)ext; *************** *** 924,928 **** placement.variable().assign(0, placement); } - Vector<ExamAssignmentInfo> newAssignments = new Vector<ExamAssignmentInfo>(); change.getAssignments().clear(); change.getConflicts().clear(); --- 898,901 ---- *************** *** 950,955 **** if (exam==null) return null; ExamPeriodPlacement period = null; ! for (Enumeration e=exam.getPeriodPlacements().elements();e.hasMoreElements();) { ! ExamPeriodPlacement p = (ExamPeriodPlacement)e.nextElement(); if (periodId==p.getId()) { period = p; break; } } --- 923,927 ---- if (exam==null) return null; ExamPeriodPlacement period = null; ! for (ExamPeriodPlacement p: exam.getPeriodPlacements()) { if (periodId==p.getId()) { period = p; break; } } *************** *** 988,993 **** //compute rooms ! for (Enumeration e=exam.getRoomPlacements().elements();e.hasMoreElements();) { ! ExamRoomPlacement room = (ExamRoomPlacement)e.nextElement(); int cap = room.getSize(exam.hasAltSeating()); --- 960,964 ---- //compute rooms ! for (ExamRoomPlacement room: exam.getRoomPlacements()) { int cap = room.getSize(exam.hasAltSeating()); *************** *** 1053,1058 **** Vector<ExamAssignmentInfo> periods = new Vector<ExamAssignmentInfo>(); ! for (Enumeration e=exam.getPeriodPlacements().elements();e.hasMoreElements();) { ! ExamPeriodPlacement period = (ExamPeriodPlacement)e.nextElement(); Set rooms = exam.findBestAvailableRooms(period); if (rooms==null) rooms = new HashSet(); --- 1024,1028 ---- Vector<ExamAssignmentInfo> periods = new Vector<ExamAssignmentInfo>(); ! for (ExamPeriodPlacement period: exam.getPeriodPlacements()) { Set rooms = exam.findBestAvailableRooms(period); if (rooms==null) rooms = new HashSet(); *************** *** 1111,1122 **** ExamModel model = (ExamModel)currentSolution().getModel(); ExamRoom room = null; ! for (Enumeration e=model.getRooms().elements();e.hasMoreElements();) { ! ExamRoom r = (ExamRoom)e.nextElement(); if (r.getId()==locationId) { room = r; break; } } if (room==null) return null; TreeSet<ExamAssignment> ret = new TreeSet(); ! for (Enumeration e=model.getPeriods().elements();e.hasMoreElements();) { ! ExamPeriod period = (ExamPeriod)e.nextElement(); if (room.getPlacement(period)!=null) ret.add(new ExamAssignment(room.getPlacement(period))); --- 1081,1090 ---- ExamModel model = (ExamModel)currentSolution().getModel(); ExamRoom room = null; ! for (ExamRoom r: model.getRooms()) { if (r.getId()==locationId) { room = r; break; } } if (room==null) return null; TreeSet<ExamAssignment> ret = new TreeSet(); ! for (ExamPeriod period: model.getPeriods()) { if (room.getPlacement(period)!=null) ret.add(new ExamAssignment(room.getPlacement(period))); *************** *** 1140,1144 **** } ! public Solution currentSolution() { activateIfNeeded(); return super.currentSolution(); --- 1108,1112 ---- } ! public Solution<Exam, ExamPlacement> currentSolution() { activateIfNeeded(); return super.currentSolution(); *************** *** 1200,1204 **** public synchronized boolean passivateIfNeeded(File folder, String puid) { ! if (isPassivated() || timeFromLastUsed()<sInactiveTimeToPassivate || isWorking()) return false; return passivate(folder, puid); } --- 1168,1173 ---- public synchronized boolean passivateIfNeeded(File folder, String puid) { ! long inactiveTimeToPassivate = Long.parseLong(ApplicationProperties.getProperty("unitime.solver.passivation.time", "30")) * 60000l; ! if (isPassivated() || inactiveTimeToPassivate <= 0 || timeFromLastUsed() < inactiveTimeToPassivate || isWorking()) return false; return passivate(folder, puid); } *************** *** 1207,1209 **** --- 1176,1193 ---- return new Date(iLastTimeStamp); } + + public void interrupt() { + try { + if (iSolverThread != null) { + iStop = true; + if (iSolverThread.isAlive() && !iSolverThread.isInterrupted()) + iSolverThread.interrupt(); + } + if (iWorkThread != null && iWorkThread.isAlive() && !iWorkThread.isInterrupted()) { + iWorkThread.interrupt(); + } + } catch (Exception e) { + sLog.error("Unable to interrupt the solver, reason: " + e.getMessage(), e); + } + } } Index: ExamModel.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamModel.java,v retrieving revision 1.6 retrieving revision 1.7 diff -C2 -d -r1.6 -r1.7 *** ExamModel.java 20 Jun 2008 22:27:48 -0000 1.6 --- ExamModel.java 1 Dec 2010 11:10:48 -0000 1.7 *************** *** 1,2 **** --- 1,21 ---- + /* + * UniTime 3.2 (University Timetabling Application) + * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors + * as indicated by the @authors tag. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.unitime.timetable.solver.exam; Index: ExamSuggestions.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamSuggestions.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** ExamSuggestions.java 3 Jun 2008 20:58:33 -0000 1.2 --- ExamSuggestions.java 1 Dec 2010 11:10:48 -0000 1.3 *************** *** 1,6 **** package org.unitime.timetable.solver.exam; import java.util.Collection; - import java.util.Enumeration; import java.util.HashSet; import java.util.Hashtable; --- 1,24 ---- + /* + * UniTime 3.2 (University Timetabling Application) + * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors + * as indicated by the @authors tag. + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 3 of the License, or + * (at your option) any later version. + * + * This program 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 General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see <http://www.gnu.org/licenses/>. + * + */ package org.unitime.timetable.solver.exam; import java.util.Collection; import java.util.HashSet; import java.util.Hashtable; *************** *** 51,57 **** iInitialUnassignment = new Vector(); iInitialInfo = new Hashtable(); ! for (Enumeration e=iModel.variables().elements();e.hasMoreElements();) { ! Exam exam = (Exam)e.nextElement(); ! ExamPlacement placement = (ExamPlacement)exam.getAssignment(); if (placement==null) { iInitialUnassignment.add(exam); --- 69,74 ---- iInitialUnassignment = new Vector(); iInitialInfo = new Hashtable(); ! for (Exam exam: iModel.variables()) { ! ExamPlacement placement = exam.getAssignment(); if (placement==null) { iInitialUnassignment.add(exam); *************** *** 143,148 **** int minSize = (exam.getSize()-size)/(nrRooms-rooms.size()); ExamRoomPlacement best = null; int bestSize = 0, bestPenalty = 0; ! for (Enumeration e=exam.getRoomPlacements().elements();e.hasMoreElements();) { ! ExamRoomPlacement room = (ExamRoomPlacement)e.nextElement(); if (!room.isAvailable(period.getPeriod())) continue; if (checkConstraints && room.getRoom().getPlacement(period.getPeriod())!=null) continue; --- 160,164 ---- int minSize = (exam.getSize()-size)/(nrRooms-rooms.size()); ExamRoomPlacement best = null; int bestSize = 0, bestPenalty = 0; ! for (ExamRoomPlacement room: exam.getRoomPlacements()) { if (!room.isAvailable(period.getPeriod())) continue; if (checkConstraints && room.getRoom().getPlacement(period.getPeriod())!=null) continue; *************** *** 174,179 **** Exam exam = (Exam)placement.variable(); HashSet adepts = new HashSet(); ! for (Enumeration e=exam.getStudents().elements();e.hasMoreElements();) { ! ExamStudent s = (ExamStudent)e.nextElement(); Set exams = s.getExams(placement.getPeriod()); for (Iterator i=exams.iterator();i.hasNext();) { --- 190,194 ---- Exam exam = (Exam)placement.variable(); HashSet adepts = new HashSet(); ! for (ExamStudent s: exam.getStudents()) { Set exams = s.getExams(placement.getPeriod()); for (Iterator i=exams.iterator();i.hasNext();) { *************** *** 258,263 **** if (iResolvedExams.contains(exam)) return; iResolvedExams.add(exam); ! for (Enumeration e = exam.getPeriodPlacements().elements(); e.hasMoreElements();) { ! ExamPeriodPlacement period = (ExamPeriodPlacement)e.nextElement(); //if (exam.equals(iExam) && !match(period.getPeriod().toString())) continue; Set rooms = findBestAvailableRooms(exam, period, true); --- 273,277 ---- if (iResolvedExams.contains(exam)) return; iResolvedExams.add(exam); ! for (ExamPeriodPlacement period: exam.getPeriodPlacements()) { //if (exam.equals(iExam) && !match(period.getPeriod().toString())) continue; Set rooms = findBestAvailableRooms(exam, period, true); Index: ExamDatabaseLoader.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/solver/exam/ExamDatabaseLoader.java,v retrieving revision 1.49 retrieving revision 1.50 diff -C2 -d -r1.49 -r1.50 *** ExamDatabaseLoader.java 16 Apr 2010 13:24:25 -0000 1.49 --- ExamDatabaseLoader.java 1 Dec 2010 11:10:48 -0000 1.50 *************** *** 1,4 **** /* ! * UniTime 3.1 (University Timetabling Application) * Copyright (C) 2008 - 2009, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2008 - 2009, UniTime LLC, and individual contributors * as indicated by the @authors tag. *************** *** 6,10 **** * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 6,10 ---- * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,26 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.solver.exam; import java.util.Collection; import java.util.Date; - import java.util.Enumeration; import java.util.HashSet; import java.util.Hashtable; --- 15,26 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.solver.exam; + import java.util.ArrayList; import java.util.Collection; import java.util.Date; import java.util.HashSet; import java.util.Hashtable; *************** *** 30,34 **** import java.util.Set; import java.util.TreeSet; ! import java.util.Vector; import org.apache.commons.logging.Log; --- 30,50 ---- import java.util.Set; import java.util.TreeSet; ! ! import net.sf.cpsolver.coursett.preference.MinMaxPreferenceCombination; ! import net.sf.cpsolver.coursett.preference.PreferenceCombination; ! import net.sf.cpsolver.coursett.preference.SumPreferenceCombination; ! import net.sf.cpsolver.exam.model.Exam; ! import net.sf.cpsolver.exam.model.ExamDistributionConstraint; ! import net.sf.cpsolver.exam.model.ExamInstructor; ! import net.sf.cpsolver.exam.model.ExamOwner; ! import net.sf.cpsolver.exam.model.ExamPeriod; ! import net.sf.cpsolver.exam.model.ExamPeriodPlacement; ! import net.sf.cpsolver.exam.model.ExamPlacement; ! import net.sf.cpsolver.exam.model.ExamRoom; ! import net.sf.cpsolver.exam.model.ExamRoomPlacement; ! import net.sf.cpsolver.exam.model.ExamStudent; ! import net.sf.cpsolver.ifs.model.Constraint; ! import net.sf.cpsolver.ifs.util.Progress; ! import net.sf.cpsolver.ifs.util.ToolBox; import org.apache.commons.logging.Log; *************** *** 61,81 **** import org.unitime.timetable.util.RoomAvailability; - import net.sf.cpsolver.coursett.preference.MinMaxPreferenceCombination; - import net.sf.cpsolver.coursett.preference.PreferenceCombination; - import net.sf.cpsolver.coursett.preference.SumPreferenceCombination; - import net.sf.cpsolver.exam.model.Exam; - import net.sf.cpsolver.exam.model.ExamDistributionConstraint; - import net.sf.cpsolver.exam.model.ExamInstructor; - import net.sf.cpsolver.exam.model.ExamOwner; - import net.sf.cpsolver.exam.model.ExamPeriod; - import net.sf.cpsolver.exam.model.ExamPeriodPlacement; - import net.sf.cpsolver.exam.model.ExamPlacement; - import net.sf.cpsolver.exam.model.ExamRoom; - import net.sf.cpsolver.exam.model.ExamRoomPlacement; - import net.sf.cpsolver.exam.model.ExamStudent; - import net.sf.cpsolver.ifs.model.Constraint; - import net.sf.cpsolver.ifs.util.Progress; - import net.sf.cpsolver.ifs.util.ToolBox; - /** * @author Tomas Muller --- 77,80 ---- *************** *** 191,196 **** location.getCapacity(), location.getExamCapacity(), ! (location.getCoordinateX()==null?-1:location.getCoordinateX()), ! (location.getCoordinateY()==null?-1:location.getCoordinateY())); getModel().addConstraint(room); getModel().getRooms().add(room); --- 190,195 ---- location.getCapacity(), location.getExamCapacity(), ! location.getCoordinateX(), ! location.getCoordinateY()); getModel().addConstraint(room); getModel().getRooms().add(room); *************** *** 221,229 **** org.unitime.timetable.model.Exam exam = (org.unitime.timetable.model.Exam)i.next(); ! Vector periodPlacements = new Vector(); boolean hasReqPeriod = false; Set periodPrefs = exam.getPreferences(ExamPeriodPref.class); ! for (Enumeration e=getModel().getPeriods().elements();e.hasMoreElements(); ) { ! ExamPeriod period = (ExamPeriod)e.nextElement(); if (iProhibitedPeriods.contains(period) || period.getLength()<exam.getLength()) continue; String pref = null; --- 220,227 ---- org.unitime.timetable.model.Exam exam = (org.unitime.timetable.model.Exam)i.next(); ! List<ExamPeriodPlacement> periodPlacements = new ArrayList<ExamPeriodPlacement>(); boolean hasReqPeriod = false; Set periodPrefs = exam.getPreferences(ExamPeriodPref.class); ! for (ExamPeriod period: getModel().getPeriods()) { if (iProhibitedPeriods.contains(period) || period.getLength()<exam.getLength()) continue; String pref = null; *************** *** 268,272 **** int minSize = 0; - Vector<ExamOwner> owners = new Vector(); for (Iterator j=new TreeSet(exam.getOwners()).iterator();j.hasNext();) { org.unitime.timetable.model.ExamOwner owner = (org.unitime.timetable.model.ExamOwner)j.next(); --- 266,269 ---- *************** *** 288,293 **** } boolean hasAssignment = false; ! for (Enumeration ep=x.getPeriodPlacements().elements();!hasAssignment && ep.hasMoreElements();) { ! ExamPeriodPlacement period = (ExamPeriodPlacement)ep.nextElement(); if (x.findRoomsRandom(period)!=null) hasAssignment = true; } --- 285,290 ---- } boolean hasAssignment = false; ! for (Iterator<ExamPeriodPlacement> ep=x.getPeriodPlacements().iterator();!hasAssignment && ep.hasNext();) { ! ExamPeriodPlacement period = ep.next(); if (x.findRoomsRandom(period)!=null) hasAssignment = true; } *************** *** 379,384 **** } ! protected Vector<ExamRoomPlacement> findRooms(org.unitime.timetable.model.Exam exam) { ! Vector<ExamRoomPlacement> rooms = new Vector(); boolean reqRoom = false; boolean reqBldg = false; --- 376,381 ---- } ! protected List<ExamRoomPlacement> findRooms(org.unitime.timetable.model.Exam exam) { ! List<ExamRoomPlacement> rooms = new ArrayList<ExamRoomPlacement>(); boolean reqRoom = false; boolean reqBldg = false; *************** *** 492,499 **** if (!add) continue; - boolean canBeUsed = false; boolean hasStrongDisc = false, allStrongDisc = true; ! for (Enumeration e=getModel().getPeriods().elements();e.hasMoreElements();) { ! ExamPeriod period = (ExamPeriod)e.nextElement(); if (roomEx.isAvailable(period)) if (roomEx.getPenalty(period)==4) hasStrongDisc = true; --- 489,494 ---- ... [truncated message content] |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:28
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/listeners In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/JavaSource/org/unitime/timetable/listeners Modified Files: SessionActivationListener.java SessionListener.java Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: SessionActivationListener.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/listeners/SessionActivationListener.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SessionActivationListener.java 17 Jun 2008 21:24:57 -0000 1.2 --- SessionActivationListener.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.listeners; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.listeners; Index: SessionListener.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/listeners/SessionListener.java,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** SessionListener.java 17 Jun 2008 21:24:57 -0000 1.2 --- SessionListener.java 1 Dec 2010 11:10:50 -0000 1.3 *************** *** 1,10 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,10 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 15,20 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ package org.unitime.timetable.listeners; --- 15,20 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ package org.unitime.timetable.listeners; |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:28
|
Update of /cvsroot/unitime/UniTime/WebContent/test In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/test Modified Files: tpall.jsp tp3x50.jsp roomshare.jsp tpmatch.jsp index.jsp tpcomb.jsp Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: tpall.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/tpall.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tpall.jsp 17 Jun 2008 21:24:57 -0000 1.3 --- tpall.jsp 1 Dec 2010 11:10:49 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> *************** *** 33,37 **** try { Long sessionId = Session.defaultSession().getUniqueId(); ! Vector timePatterns = TimePattern.findAll(sessionId,true); boolean canEdit = request.getParameter("canEdit")==null || "1".equals(request.getParameter("canEdit")); for (Iterator i=timePatterns.iterator();i.hasNext();) { --- 33,37 ---- try { Long sessionId = Session.defaultSession().getUniqueId(); ! List<TimePattern> timePatterns = TimePattern.findAll(sessionId,true); boolean canEdit = request.getParameter("canEdit")==null || "1".equals(request.getParameter("canEdit")); for (Iterator i=timePatterns.iterator();i.hasNext();) { Index: tpcomb.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/tpcomb.jsp,v retrieving revision 1.3 retrieving revision 1.4 diff -C2 -d -r1.3 -r1.4 *** tpcomb.jsp 17 Jun 2008 21:24:57 -0000 1.3 --- tpcomb.jsp 1 Dec 2010 11:10:49 -0000 1.4 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> *************** *** 56,60 **** </select> <input type='submit' value='Update' accesskey="0"/><br><hr> <% ! Vector timePatterns = TimePattern.findAll(sessionId,true); for (Iterator i=timePatterns.iterator();i.hasNext();) { TimePattern tp = (TimePattern)i.next(); --- 56,60 ---- </select> <input type='submit' value='Update' accesskey="0"/><br><hr> <% ! List<TimePattern> timePatterns = TimePattern.findAll(sessionId,true); for (Iterator i=timePatterns.iterator();i.hasNext();) { TimePattern tp = (TimePattern)i.next(); Index: roomshare.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/roomshare.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** roomshare.jsp 17 Jun 2008 21:24:57 -0000 1.2 --- roomshare.jsp 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> Index: tp3x50.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/tp3x50.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tp3x50.jsp 17 Jun 2008 21:24:57 -0000 1.2 --- tp3x50.jsp 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> Index: tpmatch.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/tpmatch.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** tpmatch.jsp 17 Jun 2008 21:24:57 -0000 1.2 --- tpmatch.jsp 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> Index: index.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/test/index.jsp,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** index.jsp 17 Jun 2008 21:24:57 -0000 1.2 --- index.jsp 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,9 **** <%-- ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- <%-- ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * --%> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> |
|
From: Tomas M. <to...@us...> - 2010-12-01 11:11:28
|
Update of /cvsroot/unitime/UniTime/WebContent/styles In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv13954/WebContent/styles Modified Files: timetabling.css test.css Added Files: unitime.css unitime-ie.css Log Message: UniTime 3.1 moved to branch maint_UniTime31 UniTime 3.2 merged from dev_curricula back to main branch (HEAD) Index: timetabling.css =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/styles/timetabling.css,v retrieving revision 1.5 retrieving revision 1.6 diff -C2 -d -r1.5 -r1.6 *** timetabling.css 18 Jun 2008 18:48:42 -0000 1.5 --- timetabling.css 1 Dec 2010 11:10:49 -0000 1.6 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ *************** *** 204,208 **** A.l7:hover { ! font-size: 100%; color: blue; font-family: sans-serif, verdana, arial; --- 204,208 ---- A.l7:hover { ! font-size: small; color: blue; font-family: sans-serif, verdana, arial; *************** *** 211,215 **** A.l7 { ! font-size: 100%; color: blue; font-family: sans-serif, verdana, arial; --- 211,215 ---- A.l7 { ! font-size: small; color: blue; font-family: sans-serif, verdana, arial; *************** *** 217,220 **** --- 217,234 ---- } + A.l8:hover { + font-size: inherit; + color: inherit; + font-family: inherit; + text-decoration: underline; + } + + A.l8 { + font-size: inherit; + color: inherit; + font-family: inherit; + text-decoration: none; + } + .H1 { font-size: 125%; *************** *** 278,359 **** } ! input { ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 1px 1px 1px 1px; ! font-family: sans-serif, verdana, arial; ! font-weight: normal; ! font-size: 90%; } ! textarea,select { ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 2px 2px 2px 2px; ! font-family: sans-serif, verdana, arial; ! font-size: 90%; } ! input.btn { ! background-color: #EFEFEF; ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 1px 1px 1px 1px; ! font-family: sans-serif, verdana, arial; ! font-size: 90%; ! font-weight: normal; ! /*height: 20px;*/ } ! input.btnSmall { ! background-color: #EFEFEF; ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 1px 1px 1px 1px; ! font-family: sans-serif, verdana, arial; ! font-size: 90%; ! /*left: 650px; ! position: absolute; ! height: 20px;*/ } ! input.txt,textarea.txt { ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 2px 2px 2px 2px; ! font-family: sans-serif, verdana, arial; ! font-size: 90%; } ! select.cmb { ! border-style: solid; ! border-width: 1px; ! border-right-color: #c0c0c0; ! border-bottom-color: #c0c0c0; ! border-top-color: #808080; ! border-left-color: #808080; ! padding: 2px 2px 2px 2px; ! font-family: sans-serif, verdana, arial; ! font-size: 90%; } --- 292,392 ---- } ! input[type="text"] { ! font-family: Verdana, sans-serif; ! font-size: 8pt; ! font-weight: 400; ! font-style: normal; ! color: #333333; ! line-height: 15px; ! vertical-align: baseline; ! background: #FFFFFF; ! height: 22px; ! border: 1px solid #9CB0CE; ! padding: 2px; } ! input[type="password"] { ! font-family: Verdana, sans-serif; ! font-size: 8pt; ! font-weight: 400; ! font-style: normal; ! color: #333333; ! line-height: 15px; ! vertical-align: baseline; ! background: #FFFFFF; ! height: 22px; ! border: 1px solid #9CB0CE; ! padding: 2px; } ! textarea { ! font-family: Verdana, sans-serif; ! font-size: 8pt; ! font-weight: 400; ! font-style: normal; ! color: #333333; ! line-height: 15px; ! vertical-align: baseline; ! background: #FFFFFF; ! border: 1px solid #9CB0CE; ! padding: 2px; } ! input[type="submit"] { ! margin: 0; ! padding: 3px 5px; ! text-decoration: none; ! font-size: small; ! cursor: pointer; ! cursor: hand; ! background: url("../unitime/gwt/standard/images/hborder.png") repeat-x 0px -27px; ! border: 1px outset #ccc; } ! input[type="submit"]:active { ! border: 1px inset #ccc; ! } ! input[type="submit"]:hover { ! border-color: #9cf #69e #69e #7af; ! } ! input[type="submit"][disabled] { ! cursor: default; ! color: #888; ! } ! input[type="submit"][disabled]:hover { ! border: 1px outset #ccc; } ! input[type="button"] { ! margin: 0; ! padding: 3px 5px; ! text-decoration: none; ! font-size: small; ! cursor: pointer; ! cursor: hand; ! background: url("../unitime/gwt/standard/images/hborder.png") repeat-x 0px -27px; ! border: 1px outset #ccc; ! } ! input[type="button"]:active { ! border: 1px inset #ccc; ! } ! input[type="button"]:hover { ! border-color: #9cf #69e #69e #7af; ! } ! input[type="button"][disabled] { ! cursor: default; ! color: #888; ! } ! input[type="button"][disabled]:hover { ! border: 1px outset #ccc; ! } ! ! body, table td, select { ! font-family: Arial Unicode MS, Arial, sans-serif; ! font-size: small; ! } ! ! select { ! border: 1px solid #9CB0CE; } *************** *** 702,706 **** color: #35526F; font-weight: bold; ! font-size: 110%; font-family: sans-serif, verdana, arial; border-bottom: #35526F 1px solid; --- 735,739 ---- color: #35526F; font-weight: bold; ! font-size: medium; font-family: sans-serif, verdana, arial; border-bottom: #35526F 1px solid; *************** *** 710,714 **** color: #35526F; font-weight: bold; ! font-size: 110%; font-family: sans-serif, verdana, arial; } --- 743,747 ---- color: #35526F; font-weight: bold; ! font-size: medium; font-family: sans-serif, verdana, arial; } *************** *** 717,721 **** color: #35526F; font-weight: bold; ! font-size: 110%; font-family: sans-serif, verdana, arial; border-bottom: #35526F 1px solid; --- 750,754 ---- color: #35526F; font-weight: bold; ! font-size: medium; font-family: sans-serif, verdana, arial; border-bottom: #35526F 1px solid; *************** *** 735,743 **** .WebTableHeader { color: #666666; ! font-family: sans-serif, verdana, arial; ! font-style: italic; } ! .ReservationRowHead { color: #000000; --- 768,793 ---- .WebTableHeader { + padding-top: 5px; + font-weight: bold; color: #666666; ! background: #e3e8f3 url(../images/header.png) repeat-x left top; ! border-bottom: 1px dashed #9CB0CE; } ! ! .WebTableHeaderFirstRow { ! padding-top: 5px; ! font-weight: bold; ! color: #666666; ! background: #e3e8f3 url(../images/header.png) repeat-x left top; ! } ! ! .WebTableHeaderSecondRow { ! padding-top: 5px; ! font-weight: bold; ! color: #666666; ! background-color: #e3e8f3; ! border-bottom: 1px dashed #9CB0CE; ! } ! .ReservationRowHead { color: #000000; *************** *** 1030,1035 **** border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1080,1086 ---- border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; + height: 35px; } *************** *** 1039,1043 **** border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1090,1094 ---- border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1049,1053 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1100,1104 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1057,1061 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1108,1112 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1065,1069 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1116,1120 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1073,1078 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1124,1130 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; + height: 35px; } *************** *** 1082,1086 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1134,1138 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1089,1093 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1141,1145 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1097,1101 **** border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1149,1153 ---- border-left: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1105,1109 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1157,1161 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1113,1117 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1165,1169 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1122,1126 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1174,1178 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1131,1135 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1183,1187 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1140,1144 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1192,1196 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1148,1152 **** border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1200,1204 ---- border-bottom: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1156,1160 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1208,1212 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1166,1170 **** border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1218,1222 ---- border-right: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1173,1177 **** border: #646464 1px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } --- 1225,1229 ---- border: #646464 1px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } *************** *** 1183,1196 **** border-right: #646464 2px solid; background-color: #FFFFFF; ! font-size: 90%; font-family: sans-serif, verdana, arial; } .WebTableOrderArrow { ! background-color: transparent; ! margin-bottom: -7px; ! margin-top: -5px; ! margin-left: 5px; ! margin-right: 5px; } --- 1235,1244 ---- border-right: #646464 2px solid; background-color: #FFFFFF; ! font-size: small; font-family: sans-serif, verdana, arial; } .WebTableOrderArrow { ! vertical-align: top; } *************** *** 1223,1239 **** } ! A.sortHeader:link,A.sortHeader:visited,A.sortHeader:active { ! text-decoration: none; ! color: #009966; ! border-bottom-style: dashed; ! border-bottom-width: 1px; ! } ! ! A.sortHeader:hover { text-decoration: none; ! color: #ff0000; ! border-bottom-style: dashed; ! border-bottom-width: 1px; ! border-bottom-color: #ff0000; } --- 1271,1277 ---- } ! A.sortHeader:link,A.sortHeader:visited,A.sortHeader,A.sortHeader:active,A.sortHeader:hover { text-decoration: none; ! color: #666666; } --- NEW FILE: unitime.css --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ [...1234 lines suppressed...] } .gwt-DialogBox .dialogControls .close { display: block; height: 13px; width: 13px; background: transparent url(../images/dialog-close.png) center center no-repeat; -background: transparent url(../images/dialog-close.gif) center center no-repeat; } .unitime-MessageBlue { color: black; background: #DFE7F2; border-bottom: 1px black solid; } .unitime-MessageYellow { color: black; background: #fcdd89; border-bottom: 1px black solid; } --- NEW FILE: unitime-ie.css --- /* * UniTime 3.2 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * * This program 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 General Public License for more details. * * You should have received a copy of the GNU General Public License along * with this program. If not, see <http://www.gnu.org/licenses/>. * */ .unitime-TextBoxHint { margin-top: -1px; } .gwt-SuggestBox { margin-top: -1px; } .unitime-TimeGrid .meeting .footer { font-size: 9pt; line-height: 12px; } Index: test.css =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/styles/test.css,v retrieving revision 1.2 retrieving revision 1.3 diff -C2 -d -r1.2 -r1.3 *** test.css 17 Jun 2008 21:24:56 -0000 1.2 --- test.css 1 Dec 2010 11:10:49 -0000 1.3 *************** *** 1,9 **** /* ! * UniTime 3.1 (University Timetabling Application) ! * Copyright (C) 2008, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 2 of the License, or * (at your option) any later version. * --- 1,9 ---- /* ! * UniTime 3.2 (University Timetabling Application) ! * Copyright (C) 2008 - 2010, UniTime LLC * * This program is free software; you can redistribute it and/or modify * it under the terms of the GNU General Public License as published by ! * the Free Software Foundation; either version 3 of the License, or * (at your option) any later version. * *************** *** 14,19 **** * * You should have received a copy of the GNU General Public License along ! * with this program; if not, write to the Free Software Foundation, Inc., ! * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. */ --- 14,19 ---- * * You should have received a copy of the GNU General Public License along ! * with this program. If not, see <http://www.gnu.org/licenses/>. ! * */ |