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-11-09 12:26:01
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9885/JavaSource/org/unitime/commons/web Modified Files: Tag: dev_curriculum WebOutputStream.java WebTable.java Web.java Log Message: License changed to GNU GPL version 3 (was version 2). Index: Web.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web/Web.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** Web.java 17 Jun 2008 21:25:02 -0000 1.2 --- Web.java 9 Nov 2010 12:25:53 -0000 1.2.2.1 *************** *** 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.2.1 retrieving revision 1.9.2.2 diff -C2 -d -r1.9.2.1 -r1.9.2.2 *** WebTable.java 25 Oct 2010 17:41:34 -0000 1.9.2.1 --- WebTable.java 9 Nov 2010 12:25:53 -0000 1.9.2.2 *************** *** 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: WebOutputStream.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/web/WebOutputStream.java,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** WebOutputStream.java 17 Jun 2008 21:25:02 -0000 1.2 --- WebOutputStream.java 9 Nov 2010 12:25:53 -0000 1.2.2.1 *************** *** 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; |
|
From: Tomas M. <to...@us...> - 2010-11-09 12:26:01
|
Update of /cvsroot/unitime/UniTime/WebContent/help In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9885/WebContent/help Modified Files: Tag: dev_curriculum Release-Notes.css Release-Notes.xml Log Message: License changed to GNU GPL version 3 (was version 2). Index: Release-Notes.css =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/help/Release-Notes.css,v retrieving revision 1.2 retrieving revision 1.2.2.1 diff -C2 -d -r1.2 -r1.2.2.1 *** Release-Notes.css 17 Jun 2008 21:25:03 -0000 1.2 --- Release-Notes.css 9 Nov 2010 12:25:53 -0000 1.2.2.1 *************** *** 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.62.2.12 retrieving revision 1.62.2.13 diff -C2 -d -r1.62.2.12 -r1.62.2.13 *** Release-Notes.xml 20 Oct 2010 21:05:41 -0000 1.62.2.12 --- Release-Notes.xml 9 Nov 2010 12:25:53 -0000 1.62.2.13 *************** *** 7,11 **** * This program is free software; you can 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. * --- 7,11 ---- * This program is free software; you can 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. --> --- 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/>. ! * --> |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9885/JavaSource/org/unitime/timetable/gwt/client/widgets Modified Files: Tag: dev_curriculum UniTimeTextBox.java LoadingWidget.java UniTimeTabPabel.java UniTimeTableHeader.java HorizontalPanelWithHint.java WebTable.java UniTimeHeaderPanel.java Validator.java UniTimeWidget.java SimpleForm.java UniTimeDialogBox.java UniTimeTable.java ValidationErrors.java ImageLink.java Log Message: License changed to GNU GPL version 3 (was version 2). Index: WebTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/WebTable.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** WebTable.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- WebTable.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 1,4 **** /* ! * UniTime 4.0 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 49,52 **** --- 49,55 ---- import com.google.gwt.user.client.ui.HasVerticalAlignment.VerticalAlignmentConstant; + /** + * @author Tomas Muller + */ public class WebTable extends Composite { public static final StudentSectioningResources RESOURCES = GWT.create(StudentSectioningResources.class); Index: UniTimeTabPabel.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeTabPabel.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** UniTimeTabPabel.java 3 Nov 2010 16:52:41 -0000 1.1.2.1 --- UniTimeTabPabel.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; Index: ValidationErrors.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/ValidationErrors.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** ValidationErrors.java 3 Nov 2010 16:52:41 -0000 1.1.2.2 --- ValidationErrors.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 1,4 **** /* ! * UniTime 4.0 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 32,35 **** --- 32,38 ---- import com.google.gwt.user.client.ui.VerticalPanel; + /** + * @author Tomas Muller + */ public class ValidationErrors extends Composite { public static final StudentSectioningMessages MESSAGES = GWT.create(StudentSectioningMessages.class); Index: UniTimeTextBox.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeTextBox.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** UniTimeTextBox.java 3 Nov 2010 16:52:41 -0000 1.1.2.2 --- UniTimeTextBox.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 25,28 **** --- 25,31 ---- import com.google.gwt.user.client.ui.ValueBoxBase; + /** + * @author Tomas Muller + */ public class UniTimeTextBox extends TextBox implements HasFocus { Index: UniTimeTable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeTable.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** UniTimeTable.java 30 Sep 2010 19:14:49 -0000 1.1.2.2 --- UniTimeTable.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 39,42 **** --- 39,45 ---- import com.google.gwt.user.client.ui.HasHorizontalAlignment.HorizontalAlignmentConstant; + /** + * @author Tomas Muller + */ public class UniTimeTable<T> extends FlexTable { Index: UniTimeDialogBox.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeDialogBox.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** UniTimeDialogBox.java 17 Sep 2010 19:10:32 -0000 1.1.2.2 --- UniTimeDialogBox.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 36,39 **** --- 36,42 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class UniTimeDialogBox extends DialogBox implements HasOpenHandlers<UniTimeDialogBox> { private FlowPanel iContainer, iControls; Index: UniTimeTableHeader.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeTableHeader.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** UniTimeTableHeader.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- UniTimeTableHeader.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 39,42 **** --- 39,45 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class UniTimeTableHeader extends HTML implements HasStyleName, HasCellAlignment, HasColSpan, HasAdditionalStyleNames { private int iColSpan = 1; Index: Validator.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/Validator.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** Validator.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- Validator.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 1,4 **** /* ! * UniTime 4.0 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 22,25 **** --- 22,28 ---- import com.google.gwt.user.client.rpc.AsyncCallback; + /** + * @author Tomas Muller + */ public interface Validator { Index: UniTimeHeaderPanel.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeHeaderPanel.java,v retrieving revision 1.1.2.4 retrieving revision 1.1.2.5 diff -C2 -d -r1.1.2.4 -r1.1.2.5 *** UniTimeHeaderPanel.java 25 Oct 2010 13:37:47 -0000 1.1.2.4 --- UniTimeHeaderPanel.java 9 Nov 2010 12:25:52 -0000 1.1.2.5 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 39,42 **** --- 39,45 ---- import com.google.gwt.user.client.ui.Image; + /** + * @author Tomas Muller + */ public class UniTimeHeaderPanel extends Composite { public static final GwtResources RESOURCES = GWT.create(GwtResources.class); Index: SimpleForm.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/SimpleForm.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** SimpleForm.java 1 Nov 2010 19:33:58 -0000 1.1.2.2 --- SimpleForm.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 24,27 **** --- 24,30 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class SimpleForm extends FlexTable { private int iColSpan; Index: ImageLink.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/ImageLink.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** ImageLink.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- ImageLink.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 1,4 **** /* ! * UniTime 4.0 (University Timetabling Application) * Copyright (C) 2010, UniTime LLC, and individual contributors * as indicated by the @authors tag. --- 1,4 ---- /* ! * UniTime 3.2 (University Timetabling Application) * Copyright (C) 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 27,30 **** --- 27,33 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class ImageLink extends Widget { private Image iImage; Index: UniTimeWidget.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/UniTimeWidget.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** UniTimeWidget.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- UniTimeWidget.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 28,31 **** --- 28,34 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class UniTimeWidget<T extends Widget> extends Composite { private T iWidget; Index: LoadingWidget.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/LoadingWidget.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** LoadingWidget.java 1 Oct 2010 16:55:14 -0000 1.1.2.2 --- LoadingWidget.java 9 Nov 2010 12:25:52 -0000 1.1.2.3 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 32,35 **** --- 32,38 ---- import com.google.gwt.user.client.ui.RootPanel; + /** + * @author Tomas Muller + */ public class LoadingWidget extends Composite { public static final GwtResources RESOURCES = GWT.create(GwtResources.class); Index: HorizontalPanelWithHint.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/gwt/client/widgets/Attic/HorizontalPanelWithHint.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** HorizontalPanelWithHint.java 16 Sep 2010 17:17:46 -0000 1.1.2.1 --- HorizontalPanelWithHint.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 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.gwt.client.widgets; --- 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.gwt.client.widgets; *************** *** 27,30 **** --- 27,33 ---- import com.google.gwt.user.client.ui.Widget; + /** + * @author Tomas Muller + */ public class HorizontalPanelWithHint extends HorizontalPanel { private PopupPanel iHint = null; |
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9885/JavaSource/org/unitime/commons Modified Files: Tag: dev_curriculum MultiComparable.java JDTCompiler15.java Debug.java User.java Email.java ToolBox.java Log Message: License changed to GNU GPL version 3 (was version 2). Index: JDTCompiler15.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/Attic/JDTCompiler15.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** JDTCompiler15.java 21 May 2010 19:42:17 -0000 1.1.2.1 --- JDTCompiler15.java 9 Nov 2010 12:25:52 -0000 1.1.2.2 *************** *** 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.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: MultiComparable.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/MultiComparable.java,v retrieving revision 1.5 retrieving revision 1.5.2.1 diff -C2 -d -r1.5 -r1.5.2.1 *** MultiComparable.java 7 Feb 2010 08:59:50 -0000 1.5 --- MultiComparable.java 9 Nov 2010 12:25:52 -0000 1.5.2.1 *************** *** 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: Email.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/Email.java,v retrieving revision 1.2.2.4 retrieving revision 1.2.2.5 diff -C2 -d -r1.2.2.4 -r1.2.2.5 *** Email.java 21 Oct 2010 20:10:10 -0000 1.2.2.4 --- Email.java 9 Nov 2010 12:25:52 -0000 1.2.2.5 *************** *** 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.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: User.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/User.java,v retrieving revision 1.4.2.1 retrieving revision 1.4.2.2 diff -C2 -d -r1.4.2.1 -r1.4.2.2 *** User.java 30 Aug 2010 22:14:14 -0000 1.4.2.1 --- User.java 9 Nov 2010 12:25:52 -0000 1.4.2.2 *************** *** 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: Debug.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/Debug.java,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** Debug.java 3 Aug 2010 13:34:11 -0000 1.2.2.1 --- Debug.java 9 Nov 2010 12:25:52 -0000 1.2.2.2 *************** *** 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: ToolBox.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/commons/ToolBox.java,v retrieving revision 1.2.2.1 retrieving revision 1.2.2.2 diff -C2 -d -r1.2.2.1 -r1.2.2.2 *** ToolBox.java 18 Aug 2010 14:16:42 -0000 1.2.2.1 --- ToolBox.java 9 Nov 2010 12:25:52 -0000 1.2.2.2 *************** *** 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; |
|
From: Tomas M. <to...@us...> - 2010-11-09 12:26:00
|
Update of /cvsroot/unitime/UniTime/WebContent/WEB-INF/tld In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv9885/WebContent/WEB-INF/tld Modified Files: Tag: dev_curriculum timetable.tld Log Message: License changed to GNU GPL version 3 (was version 2). Index: timetable.tld =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/tld/timetable.tld,v retrieving revision 1.11.2.3 retrieving revision 1.11.2.4 diff -C2 -d -r1.11.2.3 -r1.11.2.4 *** timetable.tld 5 Nov 2010 20:24:36 -0000 1.11.2.3 --- timetable.tld 9 Nov 2010 12:25:52 -0000 1.11.2.4 *************** *** 5,14 **** <!-- ! * 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. * --- 5,14 ---- <!-- ! * 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. --> --- 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/>. ! * --> |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:57:18
|
Update of /cvsroot/unitime/UniTime/WebContent/WEB-INF In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26907/WebContent/WEB-INF Modified Files: Tag: dev_curriculum tiles-defs.xml struts-config.xml Log Message: Page Statistics - fixed naming problem with Hibernate Statistics page (same tile name was used) - form and action is not needed -> removed - chart axes improved Index: struts-config.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/struts-config.xml,v retrieving revision 1.51.2.3 retrieving revision 1.51.2.4 diff -C2 -d -r1.51.2.3 -r1.51.2.4 *** struts-config.xml 8 Nov 2010 18:47:24 -0000 1.51.2.3 --- struts-config.xml 9 Nov 2010 10:57:11 -0000 1.51.2.4 *************** *** 145,149 **** <form-bean name="classInfoForm" type="org.unitime.timetable.form.ClassInfoForm" /> <form-bean name="enrollmentAuditPdfReportForm" type="org.unitime.timetable.form.EnrollmentAuditPdfReportForm" /> - <form-bean name="statsForm" type="org.unitime.timetable.form.StatsForm" /> </form-beans> --- 145,148 ---- *************** *** 827,831 **** <action path="/hibernateStats" ! forward="statsTile" /> <action --- 826,830 ---- <action path="/hibernateStats" ! forward="hibrenateStatsTile" /> <action *************** *** 2574,2588 **** <action path="/stats" ! type="org.unitime.timetable.action.StatsAction" ! attribute="statsForm" ! input="statsTile" ! name="statsForm" ! scope="request" ! validate="false"> ! <forward ! name="show" ! path="statsTile" ! redirect="true" /> ! </action> </action-mappings> --- 2573,2577 ---- <action path="/stats" ! forward="statsTile" /> </action-mappings> Index: tiles-defs.xml =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/WEB-INF/tiles-defs.xml,v retrieving revision 1.52.2.7 retrieving revision 1.52.2.8 diff -C2 -d -r1.52.2.7 -r1.52.2.8 *** tiles-defs.xml 8 Nov 2010 18:47:24 -0000 1.52.2.7 --- tiles-defs.xml 9 Nov 2010 10:57:11 -0000 1.52.2.8 *************** *** 474,480 **** </definition> ! <definition name="statsTile" extends="pageLayoutDef"> <put name="title" type="string" value="Hibernate Statistics"/> <put name="body" value="/admin/hibernateStats.jsp" /> </definition> --- 474,481 ---- </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> *************** *** 1046,1049 **** --- 1047,1051 ---- <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-11-09 10:57:18
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26907/JavaSource/org/unitime/timetable/model Modified Files: Tag: dev_curriculum QueryLog.java Log Message: Page Statistics - fixed naming problem with Hibernate Statistics page (same tile name was used) - form and action is not needed -> removed - chart axes improved Index: QueryLog.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/Attic/QueryLog.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** QueryLog.java 8 Nov 2010 21:47:28 -0000 1.1.2.2 --- QueryLog.java 9 Nov 2010 10:57:10 -0000 1.1.2.3 *************** *** 261,280 **** } } double step[] = new double[] { 1, 1}; for (int i = 0; i < max.length; i++) { ! if (max[i] <= 5.0) ! step[i] = 0.5; ! else if (max[i] <= 20.0) ! step[i] = 1; ! else if (max[i] <= 200.0) ! step[i] = 10; ! else if (max[i] <= 2000.0) ! step[i] = 100; ! else if (max[i] <= 10000.0) ! step[i] = 500; ! else if (max[i] <= 20000.0) ! step[i] = 1000; ! else ! step[i] = 10000; } switch (t) { --- 261,271 ---- } } + double range[] = new double[] { 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 25, 50, 100, 200, 250, 500, 1000, 2000, 2500, 5000, 10000, 20000, 50000, 100000, 1000000, 10000000}; double step[] = new double[] { 1, 1}; for (int i = 0; i < max.length; i++) { ! if (max[i] <= 1.0) { max[i] = 1.0; step[i] = 0.1; break; } ! int x = 0; ! while (max[i] / range[x] > 16) x++; ! step[i] = range[x]; } switch (t) { *************** *** 286,290 **** "&chdlp=t&chds=0," + df.format(max[0]) + ",0," + df.format(max[0]) + ",0," + df.format(max[1]) + ",0," + df.format(max[1]) + "&chxl=4:||e|t|u|n|i|M|+|r|e|p|+|s|l|l|a|C||2:|s|n|o|i|s|s|e|s|+|s|r|e|s|u|+|f|o|+|r|b|N" + ! "&chxs=3,FF0000|4,FFA500"; case TIME: return "http://chart.apis.google.com/chart?" + --- 277,281 ---- "&chdlp=t&chds=0," + df.format(max[0]) + ",0," + df.format(max[0]) + ",0," + df.format(max[1]) + ",0," + df.format(max[1]) + "&chxl=4:||e|t|u|n|i|M|+|r|e|p|+|s|l|l|a|C||2:|s|n|o|i|s|s|e|s|+|s|r|e|s|u|+|f|o|+|r|b|N" + ! "&chxs=1,0000FF|2,00FF00|3,FF0000|4,FFA500"; case TIME: return "http://chart.apis.google.com/chart?" + *************** *** 293,298 **** "&chdlp=t&chds=0," + df.format(max[0]) + ",0," + df.format(max[1]) + ",0," + df.format(max[0]) + ",0," + df.format(max[1]) + "&chdl=Average+Time+[ms]|Max+Time+[s]|GWT+Average+Time+[ms]|GWT+Max+Time+[s]&chco=0000FF,FF0000,00FF00,FFA500" + ! "&chxl=4:||e|m|i|T|+|e|g|a|r|e|v|A||2:|e|m|i|T|+|x|a|M" + ! "&chxs=1,FF0000|2,FFA500|3,0000FF|4,00FF00"; default: return ""; --- 284,289 ---- "&chdlp=t&chds=0," + df.format(max[0]) + ",0," + df.format(max[1]) + ",0," + df.format(max[0]) + ",0," + df.format(max[1]) + "&chdl=Average+Time+[ms]|Max+Time+[s]|GWT+Average+Time+[ms]|GWT+Max+Time+[s]&chco=0000FF,FF0000,00FF00,FFA500" + ! "&chxl=2:||e|m|i|T|+|e|g|a|r|e|v|A||4:||e|m|i|T|+|x|a|M|" + ! "&chxs=1,0000FF|2,00FF00|3,FF0000|4,FFA500"; default: return ""; |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:57:18
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/form In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26907/JavaSource/org/unitime/timetable/form Removed Files: Tag: dev_curriculum StatsForm.java Log Message: Page Statistics - fixed naming problem with Hibernate Statistics page (same tile name was used) - form and action is not needed -> removed - chart axes improved --- StatsForm.java DELETED --- |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:57:18
|
Update of /cvsroot/unitime/UniTime/WebContent/admin In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26907/WebContent/admin Modified Files: Tag: dev_curriculum stats.jsp Log Message: Page Statistics - fixed naming problem with Hibernate Statistics page (same tile name was used) - form and action is not needed -> removed - chart axes improved Index: stats.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/admin/Attic/stats.jsp,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** stats.jsp 8 Nov 2010 18:47:24 -0000 1.1.2.1 --- stats.jsp 9 Nov 2010 10:57:10 -0000 1.1.2.2 *************** *** 18,23 **** --%> <%@ page language="java" autoFlush="true"%> ! <%@page import="org.unitime.timetable.model.QueryLog"%> ! <%@page import="org.unitime.commons.web.WebTable"%> <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> --- 18,23 ---- --%> <%@ page language="java" autoFlush="true"%> ! <%@ page import="org.unitime.timetable.model.QueryLog"%> ! <%@ page import="org.unitime.commons.web.WebTable"%> <%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="bean" %> <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="html" %> *************** *** 28,33 **** <tiles:importAttribute /> ! <html:form action="/stats"> ! <table width="100%" cellpadding="10" cellspacing="0"> <% for (QueryLog.ChartWindow ch: QueryLog.ChartWindow.values()) { %> <tr><td colspan="<%=QueryLog.ChartType.values().length%>"> --- 28,32 ---- <tiles:importAttribute /> ! <table width="100%" cellpadding="10" cellspacing="0"> <% for (QueryLog.ChartWindow ch: QueryLog.ChartWindow.values()) { %> <tr><td colspan="<%=QueryLog.ChartType.values().length%>"> *************** *** 40,49 **** </tr> <% } %> ! </table> ! <table width="100%" cellpadding="2" cellspacing="0"> ! <% WebTable.setOrder(session,"pageStats.ord",request.getParameter("ord"), 1); %> ! <%=QueryLog.getTopQueries(7).printTable(WebTable.getOrder(session, "pageStats.ord"))%> ! ! </table> ! ! </html:form> --- 39,45 ---- </tr> <% } %> ! </table> ! <table width="100%" cellpadding="2" cellspacing="0"> ! <% WebTable.setOrder(session,"pageStats.ord",request.getParameter("ord"), 1); %> ! <%=QueryLog.getTopQueries(7).printTable(WebTable.getOrder(session, "pageStats.ord"))%> ! </table> |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:57:18
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/action In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26907/JavaSource/org/unitime/timetable/action Removed Files: Tag: dev_curriculum StatsAction.java Log Message: Page Statistics - fixed naming problem with Hibernate Statistics page (same tile name was used) - form and action is not needed -> removed - chart axes improved --- StatsAction.java DELETED --- |
Update of /cvsroot/unitime/UniTime/WebContent In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26621/WebContent Modified Files: Tag: dev_curriculum error.jsp loginRequired.jsp checkRole.jspf checkAdmin.jspf checkAccessLevel.jspf checkLogin.jspf Log Message: To avoid redirect problems login / access / role / admin checks now throw AccessDeniedException when not satisfied - this is to avoid cases when due to some problems the redirects ended up in an endless cycle Index: checkAccessLevel.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/checkAccessLevel.jspf,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** checkAccessLevel.jspf 30 Jul 2008 16:33:36 -0000 1.4 --- checkAccessLevel.jspf 9 Nov 2010 10:55:13 -0000 1.4.2.1 *************** *** 18,25 **** --%> <%@ page import="org.unitime.timetable.util.Constants" %> ! <% String appAccess = (String) session.getAttribute(Constants.SESSION_APP_ACCESS_LEVEL); ! if (appAccess!=null && !"true".equalsIgnoreCase(appAccess)) { %> ! <jsp:forward page="/loginRequired.do"> ! <jsp:param name="message" value="The application is temporarily unavailable.<br>Please try again after some time."/> ! </jsp:forward> ! <% } %> --- 18,26 ---- --%> <%@ page import="org.unitime.timetable.util.Constants" %> ! <%@ page import="org.unitime.timetable.util.AccessDeniedException" %> ! <% ! String appAccess = (String) session.getAttribute(Constants.SESSION_APP_ACCESS_LEVEL); ! if (appAccess!=null && !"true".equalsIgnoreCase(appAccess)) { ! throw new AccessDeniedException("The application is temporarily unavailable.<br>Please try again after some time."); ! } ! %> \ No newline at end of file Index: error.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/error.jsp,v retrieving revision 1.4.2.6 retrieving revision 1.4.2.7 diff -C2 -d -r1.4.2.6 -r1.4.2.7 *** error.jsp 13 Sep 2010 18:19:43 -0000 1.4.2.6 --- error.jsp 9 Nov 2010 10:55:13 -0000 1.4.2.7 *************** *** 25,41 **** <%@ page import="java.util.Vector" %> <%@ page import="org.unitime.timetable.ApplicationProperties" %> ! <%@ include file="/checkLogin.jspf"%> ! <%@ include file="/checkAccessLevel.jspf"%> ! ! <% if (exception==null && session.getAttribute("exception")!=null) { ! exception = (Exception)session.getAttribute("exception"); ! session.removeAttribute("exception"); ! } ! if (exception!=null && exception.getMessage()!=null && exception.getMessage().startsWith("Access Denied") ) { %> ! <jsp:forward page="/loginRequired.do"> <jsp:param name="message" value="<%=exception.getMessage()%>"/> </jsp:forward> ! <% }%> <HTML> <HEAD> --- 25,45 ---- <%@ page import="java.util.Vector" %> <%@ page import="org.unitime.timetable.ApplicationProperties" %> + <%@page import="org.unitime.timetable.util.AccessDeniedException"%> ! <% ! try { ! if (exception==null && session.getAttribute("exception")!=null) { ! exception = (Exception)session.getAttribute("exception"); ! session.removeAttribute("exception"); ! } ! } catch (IllegalStateException e) {} ! if (exception instanceof AccessDeniedException || "Access Denied.".equals(exception.getMessage())) { ! %> ! <jsp:forward page="/loginRequired.do"> <jsp:param name="message" value="<%=exception.getMessage()%>"/> </jsp:forward> ! <% ! } ! %> <HTML> <HEAD> *************** *** 54,58 **** <table class="unitime-MainTable" cellpadding="2" cellspacing="0" width="100%"> <tr><td rowspan="3"> ! <a href='http://www.unitime.org'> <img src="images/unitime.png" border="0"/> </a> --- 58,62 ---- <table class="unitime-MainTable" cellpadding="2" cellspacing="0" width="100%"> <tr><td rowspan="3"> ! <a href='main.jsp'> <img src="images/unitime.png" border="0"/> </a> Index: checkLogin.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/checkLogin.jspf,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** checkLogin.jspf 30 Jul 2008 16:33:36 -0000 1.4 --- checkLogin.jspf 9 Nov 2010 10:55:13 -0000 1.4.2.1 *************** *** 18,30 **** --%> <%@ page import="org.unitime.commons.web.Web" %> ! <% if (!Web.isLoggedIn(session)) {%> ! <% if (session.isNew()) { %> ! <jsp:forward page="/loginRequired.do"> ! <jsp:param name="message" value="Your timetabling session has expired. Please log in again."/> ! </jsp:forward> ! <% } else { %> ! <jsp:forward page="/loginRequired.do"> ! <jsp:param name="message" value="Login is required to use timetabling application."/> ! </jsp:forward> ! <% } %> ! <%}%> --- 18,29 ---- --%> <%@ page import="org.unitime.commons.web.Web" %> ! <%@page import="org.unitime.timetable.util.AccessDeniedException"%> ! <% ! if (!Web.isLoggedIn(session)) { ! if (session.isNew()) { ! throw new AccessDeniedException("Your timetabling session has expired. Please log in again."); ! } else { ! throw new AccessDeniedException("Login is required to use timetabling application."); ! } ! } ! %> \ No newline at end of file Index: loginRequired.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/loginRequired.jsp,v retrieving revision 1.7.2.4 retrieving revision 1.7.2.5 diff -C2 -d -r1.7.2.4 -r1.7.2.5 *** loginRequired.jsp 13 Sep 2010 18:19:43 -0000 1.7.2.4 --- loginRequired.jsp 9 Nov 2010 10:55:13 -0000 1.7.2.5 *************** *** 28,37 **** <LINK rel="stylesheet" type="text/css" href="styles/timetabling.css"> <link rel="shortcut icon" href="images/timetabling.ico" /> - <SCRIPT language="javascript" type="text/javascript"> - <!-- - if(parent.frames.length!=0) - top.location.href = '<%=request.getContextPath()%>/loginRequired.jsp?message=<%=request.getParameter("message")%>' - //--> - </SCRIPT> <meta http-equiv="X-UA-Compatible" content="chrome=1"> </HEAD> --- 28,31 ---- Index: checkAdmin.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/checkAdmin.jspf,v retrieving revision 1.4 retrieving revision 1.4.2.1 diff -C2 -d -r1.4 -r1.4.2.1 *** checkAdmin.jspf 30 Jul 2008 16:33:36 -0000 1.4 --- checkAdmin.jspf 9 Nov 2010 10:55:13 -0000 1.4.2.1 *************** *** 17,27 **** * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> - <%@ page import="org.unitime.timetable.model.Roles" %> <%@ page import="org.unitime.commons.web.Web" %> <%@ include file="checkLogin.jspf" %> <%@ include file="checkRole.jspf" %> ! <% if (!Web.getUser(session).isAdmin()) { %> ! <jsp:forward page="/loginRequired.do"> ! <jsp:param name="message" value="Insufficient user privileges."/> ! </jsp:forward> ! <% } %> --- 17,26 ---- * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. --%> <%@ page import="org.unitime.commons.web.Web" %> <%@ include file="checkLogin.jspf" %> <%@ include file="checkRole.jspf" %> ! <% ! if (!Web.getUser(session).isAdmin()) { ! throw new AccessDeniedException("Insufficient user privileges."); ! } ! %> \ No newline at end of file Index: checkRole.jspf =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/checkRole.jspf,v retrieving revision 1.1 retrieving revision 1.1.2.1 diff -C2 -d -r1.1 -r1.1.2.1 *** checkRole.jspf 30 Jul 2008 16:33:36 -0000 1.1 --- checkRole.jspf 9 Nov 2010 10:55:13 -0000 1.1.2.1 *************** *** 18,25 **** --%> <%@ page import="org.unitime.commons.web.Web" %> <%@ include file="checkLogin.jspf" %> ! <%if (Web.getUser(session).getCurrentRole()==null) {%> ! <jsp:forward page="/loginRequired.do"> ! <jsp:param name="message" value="Insufficient user privileges."/> ! </jsp:forward> ! <%}%> --- 18,26 ---- --%> <%@ page import="org.unitime.commons.web.Web" %> + <%@page import="org.unitime.timetable.util.AccessDeniedException"%> <%@ include file="checkLogin.jspf" %> ! <% ! if (Web.getUser(session).getCurrentRole()==null) { ! throw new AccessDeniedException("Insufficient user privileges."); ! } ! %> \ No newline at end of file |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:55:21
|
Update of /cvsroot/unitime/UniTime/WebContent/layouts In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26621/WebContent/layouts Modified Files: Tag: dev_curriculum pageLayout.jsp Log Message: To avoid redirect problems login / access / role / admin checks now throw AccessDeniedException when not satisfied - this is to avoid cases when due to some problems the redirects ended up in an endless cycle Index: pageLayout.jsp =================================================================== RCS file: /cvsroot/unitime/UniTime/WebContent/layouts/pageLayout.jsp,v retrieving revision 1.11.2.15 retrieving revision 1.11.2.16 diff -C2 -d -r1.11.2.15 -r1.11.2.16 *** pageLayout.jsp 5 Nov 2010 20:24:36 -0000 1.11.2.15 --- pageLayout.jsp 9 Nov 2010 10:55:13 -0000 1.11.2.16 *************** *** 73,88 **** <script language="JavaScript" type="text/javascript" src="<%=basePath%>scripts/select.js"></script> <script language="JavaScript" type="text/javascript" src="<%=basePath%>scripts/rtt.js"></script> - <%-- - <script language="javascript"><!-- - function doLoad() { - // Trick 1 to prevent use of back button - if(window.history.forward(1) != null) - window.history.forward(1); - - // Focus on frame - self.focus(); - } - // --></script> - --%> <script type="text/javascript" language="javascript" src="<%=basePath%>unitime/unitime.nocache.js">--</script> </head> --- 73,76 ---- |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:55:21
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/util In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv26621/JavaSource/org/unitime/timetable/util Added Files: Tag: dev_curriculum AccessDeniedException.java Log Message: To avoid redirect problems login / access / role / admin checks now throw AccessDeniedException when not satisfied - this is to avoid cases when due to some problems the redirects ended up in an endless cycle --- NEW FILE: AccessDeniedException.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 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. */ package org.unitime.timetable.util; public class AccessDeniedException extends RuntimeException { private static final long serialVersionUID = 2565632362237022274L; public AccessDeniedException(String message) { super(message); } } |
|
From: Tomas M. <to...@us...> - 2010-11-09 10:51:31
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/filter In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv25992/JavaSource/org/unitime/timetable/filter Modified Files: Tag: dev_curriculum PageAccessFilter.java QueryLogFilter.java Log Message: If the http session have been invalidated any access may throw an IllegalStateException. Index: PageAccessFilter.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/filter/PageAccessFilter.java,v retrieving revision 1.3.2.1 retrieving revision 1.3.2.2 diff -C2 -d -r1.3.2.1 -r1.3.2.2 *** PageAccessFilter.java 25 Jun 2010 20:19:30 -0000 1.3.2.1 --- PageAccessFilter.java 9 Nov 2010 10:51:22 -0000 1.3.2.2 *************** *** 135,139 **** } if (exception!=null || (t1-t0)>dumpTime) { ! User u = Web.getUser(r.getSession()); if (u==null) { message += "\n User: no user"; --- 135,142 ---- } if (exception!=null || (t1-t0)>dumpTime) { ! User u = null; ! try { ! u = (r.getSession() == null ? null : Web.getUser(r.getSession())); ! } catch (IllegalStateException e) {} if (u==null) { message += "\n User: no user"; *************** *** 147,157 **** message+="\n "+n+"="+r.getParameter(n); } ! if (dumpSessionAttribues) { ! message += "\n Session attributes:"; ! for (Enumeration e=r.getSession().getAttributeNames(); e.hasMoreElements();) { ! String n = (String)e.nextElement(); ! if (n.equals("userTrace")) continue; ! message+="\n "+n+"="+r.getSession().getAttribute(n); } } } else { --- 150,164 ---- message+="\n "+n+"="+r.getParameter(n); } ! try { ! if (dumpSessionAttribues && r.getSession() != null) { ! message += "\n Session attributes:"; ! for (Enumeration e=r.getSession().getAttributeNames(); e.hasMoreElements();) { ! String n = (String)e.nextElement(); ! if (n.equals("userTrace")) continue; ! message+="\n "+n+"="+r.getSession().getAttribute(n); ! } } + } catch (IllegalStateException e) { + message += "\n INVALID SESSION"; } } else { Index: QueryLogFilter.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/filter/Attic/QueryLogFilter.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** QueryLogFilter.java 8 Nov 2010 18:47:24 -0000 1.1.2.1 --- QueryLogFilter.java 9 Nov 2010 10:51:22 -0000 1.1.2.2 *************** *** 39,42 **** --- 39,54 ---- public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain ) throws ServletException, IOException { + String sessionId = null; + String userId = null; + try { + if (request instanceof HttpServletRequest) { + HttpServletRequest r = (HttpServletRequest)request; + sessionId = r.getSession().getId(); + User user = Web.getUser(r.getSession()); + if (user != null) + userId = user.getId(); + } + } catch (IllegalStateException e) {} + long t0 = JProf.currentTimeMillis(); Throwable exception = null; *************** *** 63,72 **** q.setTimeStamp(new Date()); q.setTimeSpent(t1 - t0); ! if (r.getSession() != null) { ! q.setSessionId(r.getSession().getId()); ! User user = Web.getUser(r.getSession()); ! if (user != null) ! q.setUid(user.getId()); ! } String params = ""; for (Enumeration e=r.getParameterNames(); e.hasMoreElements();) { --- 75,89 ---- q.setTimeStamp(new Date()); q.setTimeSpent(t1 - t0); ! q.setSessionId(sessionId); ! q.setUid(userId); ! try { ! if (sessionId == null) ! q.setSessionId(r.getSession().getId()); ! if (userId == null) { ! User user = Web.getUser(r.getSession()); ! if (user != null) ! q.setUid(user.getId()); ! } ! } catch (IllegalStateException e) {} String params = ""; for (Enumeration e=r.getParameterNames(); e.hasMoreElements();) { |
|
From: Nightly B. <no...@un...> - 2010-11-08 23:52:28
|
Download the resultant file at http://www.unitime.org/uct_builds.php, see the attached build and change logs for more details. |
|
From: Tomas M. <to...@us...> - 2010-11-08 21:49:10
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/tags In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv16762/JavaSource/org/unitime/timetable/tags Modified Files: Tag: dev_curriculum Registration.java Log Message: Few tweaks to the registration process Index: Registration.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/tags/Attic/Registration.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** Registration.java 5 Nov 2010 20:24:36 -0000 1.1.2.1 --- Registration.java 8 Nov 2010 21:49:02 -0000 1.1.2.2 *************** *** 30,33 **** --- 30,34 ---- import java.util.Properties; + import javax.servlet.http.HttpServletRequest; import javax.servlet.jsp.JspException; import javax.servlet.jsp.tagext.BodyTagSupport; *************** *** 44,47 **** --- 45,49 ---- import org.unitime.commons.web.Web; import org.unitime.timetable.ApplicationProperties; + import org.unitime.timetable.model.QueryLog; import org.unitime.timetable.util.Constants; *************** *** 67,71 **** private static long sLastRefresh = -1; ! private static synchronized void init() { sLastRefresh = System.currentTimeMillis(); try { --- 69,73 ---- private static long sLastRefresh = -1; ! private synchronized void init() { sLastRefresh = System.currentTimeMillis(); try { *************** *** 86,91 **** registration.put("key", sKey); else ! sLog.info("No registration key found..." ); registration.put("version", Constants.VERSION + "." + Constants.BLD_NUMBER.replace("@build.number@", "?")); Document input = DocumentHelper.createDocument(); --- 88,98 ---- registration.put("key", sKey); else ! sLog.debug("No registration key found..." ); registration.put("version", Constants.VERSION + "." + Constants.BLD_NUMBER.replace("@build.number@", "?")); + registration.put("sessions", String.valueOf(QueryLog.getNrSessions(31))); + registration.put("users", String.valueOf(QueryLog.getNrActiveUsers(31))); + registration.put("url", pageContext.getRequest().getScheme()+"://"+pageContext.getRequest().getServerName()+":"+pageContext.getRequest().getServerPort()+ + ((HttpServletRequest)pageContext.getRequest()).getContextPath()); + sLog.debug("Sending the following registration info: " + registration); Document input = DocumentHelper.createDocument(); *************** *** 95,99 **** } ! sLog.info("Contacting registration service..." ); ClientResource cr = new ClientResource("https://unitimereg.appspot.com/xml"); --- 102,106 ---- } ! sLog.debug("Contacting registration service..." ); ClientResource cr = new ClientResource("https://unitimereg.appspot.com/xml"); *************** *** 103,107 **** String result = cr.post(w.toString(), String.class); ! sLog.info("Registration information received." ); --- 110,114 ---- String result = cr.post(w.toString(), String.class); ! sLog.debug("Registration information received." ); *************** *** 118,122 **** if (!newKey.equals(sKey)) { sKey = newKey; ! sLog.info("New registration key received..." ); Properties reg = new Properties(); reg.setProperty("key", sKey); --- 125,129 ---- if (!newKey.equals(sKey)) { sKey = newKey; ! sLog.debug("New registration key received..." ); Properties reg = new Properties(); reg.setProperty("key", sKey); *************** *** 138,155 **** } ! static { ! init(); ! } ! ! private static void refresh() { ! if (System.currentTimeMillis() - sLastRefresh > 60 * 60 * 1000) init(); } public int doStartTag() throws JspException { switch (iMethod) { case hasMessage: try { ! Registration.refresh(); if (Registration.sNote != null && !Registration.sNote.isEmpty()) return EVAL_BODY_INCLUDE; --- 145,161 ---- } ! private void refresh() { ! if ("1".equals(pageContext.getRequest().getParameter("refresh")) || System.currentTimeMillis() - sLastRefresh > 60 * 60 * 1000) init(); } public int doStartTag() throws JspException { + if (sLastRefresh < 0) init(); switch (iMethod) { case hasMessage: + if (!Web.getUser(pageContext.getSession()).isAdmin()) + return SKIP_BODY; try { ! refresh(); if (Registration.sNote != null && !Registration.sNote.isEmpty()) return EVAL_BODY_INCLUDE; *************** *** 167,171 **** case message: try { ! if (Registration.sNote != null) pageContext.getOut().println(Registration.sNote); } catch (Exception e) {} --- 173,177 ---- case message: try { ! if (Registration.sNote != null && Web.getUser(pageContext.getSession()).isAdmin()) pageContext.getOut().println(Registration.sNote); } catch (Exception e) {} *************** *** 181,185 **** "onClick=\"showGwtDialog('UniTime 3.2 Registration', 'https://unitimereg.appspot.com?key=" + sKey + "', '750px', '75%');\" " + "title='UniTime 3.2 Registration'>here</a> to " + ! (sRegistered ? "update the current registration." : "register.") + "</span>"); } --- 187,193 ---- "onClick=\"showGwtDialog('UniTime 3.2 Registration', 'https://unitimereg.appspot.com?key=" + sKey + "', '750px', '75%');\" " + "title='UniTime 3.2 Registration'>here</a> to " + ! (sRegistered ? "update the current registration" : "register") + ! " [<a onClick=\"document.location='main.jsp?refresh=1';\" onMouseOver=\"this.style.cursor='hand';this.style.cursor='pointer';\" " + ! "title='Refresh registration information.'>refresh</a>]." + "</span>"); } |
|
From: Tomas M. <to...@us...> - 2010-11-08 21:47:36
|
Update of /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv16626/JavaSource/org/unitime/timetable/model Modified Files: Tag: dev_curriculum QueryLog.java Log Message: Queries fixed (use setTimeStamp instead of setTime). Index: QueryLog.java =================================================================== RCS file: /cvsroot/unitime/UniTime/JavaSource/org/unitime/timetable/model/Attic/QueryLog.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** QueryLog.java 8 Nov 2010 18:47:24 -0000 1.1.2.1 --- QueryLog.java 8 Nov 2010 21:47:28 -0000 1.1.2.2 *************** *** 43,57 **** } ! public int get7dActiveSessions() { Calendar c = Calendar.getInstance(Locale.US); ! c.add(Calendar.DAY_OF_YEAR, -7); return ((Number)QueryLogDAO.getInstance().getSession().createQuery( ! "select count(distinct q.sessionId) from "+ ! "QueryLog q where q.timeStamp > :date group by q.uri"). ! setTime("date", c.getTime()).uniqueResult()).intValue(); } public static WebTable getTopQueries(int days) { Calendar c = Calendar.getInstance(Locale.US); c.add(Calendar.DAY_OF_YEAR, -days); WebTable table = new WebTable(8, "Page Statistics (last " + days + " days)", "stats.do?ord=%%", --- 43,67 ---- } ! public static int getNrSessions(int days) { Calendar c = Calendar.getInstance(Locale.US); ! c.setTime(new Date()); ! c.add(Calendar.DAY_OF_YEAR, -days); return ((Number)QueryLogDAO.getInstance().getSession().createQuery( ! "select count(distinct q.sessionId) from QueryLog q where q.timeStamp > :date"). ! setTimestamp("date", c.getTime()).uniqueResult()).intValue(); } + public static int getNrActiveUsers(int days) { + Calendar c = Calendar.getInstance(Locale.US); + c.setTime(new Date()); + c.add(Calendar.DAY_OF_YEAR, -days); + return ((Number)QueryLogDAO.getInstance().getSession().createQuery( + "select count(distinct q.uid) from QueryLog q where q.timeStamp > :date"). + setTimestamp("date", c.getTime()).uniqueResult()).intValue(); + } + public static WebTable getTopQueries(int days) { Calendar c = Calendar.getInstance(Locale.US); + c.setTime(new Date()); c.add(Calendar.DAY_OF_YEAR, -days); WebTable table = new WebTable(8, "Page Statistics (last " + days + " days)", "stats.do?ord=%%", *************** *** 63,67 **** for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.exception is not null group by q.uri").setTime("date", c.getTime()).list()) { errors.put((String)o[0],((Number)o[1]).intValue()); } --- 73,77 ---- for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.exception is not null group by q.uri").setTimestamp("date", c.getTime()).list()) { errors.put((String)o[0],((Number)o[1]).intValue()); } *************** *** 69,73 **** for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 1000 group by q.uri").setTime("date", c.getTime()).list()) { overMinutes.put((String)o[0],((Number)o[1]).intValue()); } --- 79,83 ---- for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 1000 group by q.uri").setTimestamp("date", c.getTime()).list()) { overMinutes.put((String)o[0],((Number)o[1]).intValue()); } *************** *** 75,79 **** for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 100 group by q.uri").setTime("date", c.getTime()).list()) { over100mss.put((String)o[0],((Number)o[1]).intValue()); } --- 85,89 ---- for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 100 group by q.uri").setTimestamp("date", c.getTime()).list()) { over100mss.put((String)o[0],((Number)o[1]).intValue()); } *************** *** 81,85 **** for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 10 group by q.uri").setTime("date", c.getTime()).list()) { over10mss.put((String)o[0],((Number)o[1]).intValue()); } --- 91,95 ---- for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q) from "+ ! "QueryLog q where q.timeStamp > :date and q.timeSpent > 10 group by q.uri").setTimestamp("date", c.getTime()).list()) { over10mss.put((String)o[0],((Number)o[1]).intValue()); } *************** *** 87,91 **** for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q), avg(q.timeSpent), max(q.timeSpent) from "+ ! "QueryLog q where q.timeStamp > :date group by q.uri").setTime("date", c.getTime()).list()) { Integer nrErrors = errors.get((String)o[0]); if (nrErrors == null) nrErrors = 0; --- 97,101 ---- for (Object[] o: (List<Object[]>)QueryLogDAO.getInstance().getSession().createQuery( "select q.uri, count(q), avg(q.timeSpent), max(q.timeSpent) from "+ ! "QueryLog q where q.timeStamp > :date group by q.uri").setTimestamp("date", c.getTime()).list()) { Integer nrErrors = errors.get((String)o[0]); if (nrErrors == null) nrErrors = 0; |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:18
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/Documentation/Interfaces In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/Documentation/Interfaces Added Files: Tag: dev_curriculum BannerStudentUpdates.dtd Log Message: Added support for real time student curriculum and enrollment updates. --- NEW FILE: BannerStudentUpdates.dtd --- <!-- * UniTime 3.1 (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 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. --> <!ELEMENT enrollment EMPTY > <!ATTLIST enrollment crn NMTOKEN #REQUIRED > <!ELEMENT student ( enrollment* ) > <!ATTLIST student academicArea NMTOKEN #REQUIRED > <!ATTLIST student classification NMTOKEN #REQUIRED > <!ATTLIST student email CDATA #IMPLIED > <!ATTLIST student externalId NMTOKEN #REQUIRED > <!ATTLIST student firstName NMTOKEN #REQUIRED > <!ATTLIST student lastName NMTOKEN #REQUIRED > <!ATTLIST student major NMTOKEN #REQUIRED > <!ATTLIST student middleName NMTOKEN #IMPLIED > <!ATTLIST student session NMTOKEN #REQUIRED > <!ELEMENT studentUpdates ( student+ ) > |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:18
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource Modified Files: Tag: dev_curriculum bannerdbupdate.xml Log Message: Added support for real time student curriculum and enrollment updates. Index: bannerdbupdate.xml =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/bannerdbupdate.xml,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** bannerdbupdate.xml 21 Sep 2010 19:53:06 -0000 1.1.2.1 --- bannerdbupdate.xml 8 Nov 2010 18:57:10 -0000 1.1.2.2 *************** *** 20,25 **** --- 20,32 ---- --> <dbupdate> + <dialect type="mysql">org.hibernate.dialect.MySQLDialect</dialect> <dialect type="mysql">org.hibernate.dialect.MySQLInnoDBDialect</dialect> + <dialect type="mysql">org.hibernate.dialect.MySQL5InnoDBDialect</dialect> + <dialect type="mysql">org.hibernate.dialect.MySQL5Dialect</dialect> <dialect type="plsql">org.hibernate.dialect.OracleDialect</dialect> + <dialect type="plsql">org.hibernate.dialect.Oracle8iDialect</dialect> + <dialect type="plsql">org.hibernate.dialect.Oracle9Dialect</dialect> + <dialect type="plsql">org.hibernate.dialect.Oracle9iDialect</dialect> + <dialect type="plsql">org.hibernate.dialect.Oracle10gDialect</dialect> <update version="2" date="21-Sep-2010" comment="Banner Response Indexes"> *************** *** 43,46 **** --- 50,67 ---- </mysql> </update> + <update version="3" date="05-Nov-2010" comment="Banner CRN Lookup Indexes"> + <plsql> + create index %SCHEMA%.idx_banner_section_sess_crn on %SCHEMA%.banner_section(session_id, crn) + </plsql> + <mysql> + create index idx_banner_section_sess_crn on %SCHEMA%.banner_section(session_id, crn) + </mysql> + <plsql> + create index %SCHEMA%.idx_banner_session_term_code on %SCHEMA%.banner_session(banner_term_code) + </plsql> + <mysql> + create index idx_banner_session_term_code on %SCHEMA%.banner_session(banner_term_code) + </mysql> + </update> </dbupdate> \ No newline at end of file |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:18
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource/org/unitime/banner/queueprocessor Modified Files: Tag: dev_curriculum ProcessQueue.java QueuedItem.java Added Files: Tag: dev_curriculum BannerCaller.java PollStudentUpdates.java Log Message: Added support for real time student curriculum and enrollment updates. --- NEW FILE: BannerCaller.java --- /* * UniTime 3.1 (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 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. */ package org.unitime.banner.queueprocessor; import java.sql.Clob; import org.dom4j.Document; import org.unitime.banner.queueprocessor.oracle.OracleConnector; import org.unitime.banner.queueprocessor.util.ClobTools; import org.unitime.commons.Debug; import org.unitime.timetable.ApplicationProperties; /** * @author says * */ public abstract class BannerCaller { public BannerCaller() { super(); } public static String getBannerHost() throws Exception{ String bannerHost = ApplicationProperties.getProperty("banner.host"); if (bannerHost == null || bannerHost.trim().length() == 0){ throw new Exception("Missing required custom application property: 'banner.host', this property must be set to the host machine for the banner database."); } return bannerHost; } public static String getBannerPort() throws Exception{ String bannerPort = ApplicationProperties.getProperty("banner.port"); if (bannerPort == null || bannerPort.trim().length() == 0){ throw new Exception("Missing required custom application property: 'bannerPort', this property must be set to the port number used to connect to the banner database."); } return bannerPort; } public static String getBannerDatabase() throws Exception{ String bannerDatabase = ApplicationProperties.getProperty("banner.database"); if (bannerDatabase == null || bannerDatabase.trim().length() == 0){ throw new Exception("Missing required custom application property: 'bannerDatabase', this property must be set to the name of the database that hosts the banner schema."); } return bannerDatabase; } public static String getBannerUser() throws Exception{ String bannerUser = ApplicationProperties.getProperty("banner.user"); if (bannerUser == null || bannerUser.trim().length() == 0){ throw new Exception("Missing required custom application property: 'bannerUser', this property must be set to the name of the user used to access the banner schema."); } return bannerUser; } public static String getBannerPassword() throws Exception{ String bannerPassword = ApplicationProperties.getProperty("banner.password"); if (bannerPassword == null || bannerPassword.trim().length() == 0){ throw new Exception("Missing required custom application property: 'bannerPassword', this property must be set to the password of the user used to access the banner schema."); } return bannerPassword; } protected OracleConnector getJDBCconnection(){ OracleConnector jdbc = null; try { jdbc = new OracleConnector( QueuedItem.getBannerHost(), QueuedItem.getBannerDatabase(), QueuedItem.getBannerPort(), QueuedItem.getBannerUser(), QueuedItem.getBannerPassword()); } catch (Exception e) { Debug.info("*********************************************************************"); Debug.info("** Error setting up OracleConnector in in callOracleProcess *********"); Debug.info("*********************************************************************"); Debug.info(e.getMessage()); e.printStackTrace(); Debug.info("*********************************************************************"); } return(jdbc); } protected Document convertClobToDocument(Clob clob){ Document outDoc = null; try { outDoc = ClobTools.clobToDocument(clob); } catch (Exception ex) { Debug.info("***************************************"); Debug.info("** Error in callOracleProcess *********"); Debug.info("***************************************"); ex.printStackTrace(); Debug.info("***************************************"); } return(outDoc); } } Index: QueuedItem.java =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/QueuedItem.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** QueuedItem.java 22 Oct 2010 16:59:19 -0000 1.1.2.1 --- QueuedItem.java 8 Nov 2010 18:57:10 -0000 1.1.2.2 *************** *** 28,34 **** import org.dom4j.Document; import org.dom4j.DocumentException; - import org.unitime.timetable.ApplicationProperties; - - import org.unitime.banner.dataexchange.ReceiveBannerResponseMessage; import org.unitime.banner.model.QueueIn; --- 28,31 ---- *************** *** 38,42 **** import org.unitime.banner.queueprocessor.exception.LoggableException; import org.unitime.banner.queueprocessor.oracle.OracleConnector; - import org.unitime.banner.queueprocessor.util.ClobTools; import org.unitime.commons.Debug; --- 35,38 ---- *************** *** 44,48 **** * based on code contributed by Aaron Tyler and Dagmar Murray */ ! public class QueuedItem { QueueOutDAO qod; --- 40,44 ---- * based on code contributed by Aaron Tyler and Dagmar Murray */ ! public class QueuedItem extends BannerCaller { QueueOutDAO qod; *************** *** 51,60 **** QueueOut item; - private static String bannerHost; - private static String bannerDatabase; - private static String bannerPort; - private static String bannerUser; - private static String bannerPassword; - public QueuedItem(QueueOut item) { --- 47,50 ---- *************** *** 79,83 **** QueueInDAO qid = new QueueInDAO(); - //qid.save(qi); qi.setMatchId(item.getUniqueId()); --- 69,72 ---- *************** *** 90,98 **** ReceiveBannerResponseMessage.receiveResponseDocument(qi); - //Run the Comparator to insert log data into the ComparatorLogHtml table - // Removed 6/30 for revision to Banner Response strategy - //Thread t = new Thread(new Comparator(item, qi)); - //t.start(); - } catch (Exception ex) { LoggableException le = new LoggableException(ex, qi); --- 79,82 ---- *************** *** 127,167 **** DocumentException { ! Clob clob; ! Document outDoc = null; ! ! OracleConnector jdbc = null; ! try { ! jdbc = new OracleConnector( ! getBannerHost(), ! getBannerDatabase(), ! getBannerPort(), ! getBannerUser(), ! getBannerPassword()); ! } catch (Exception e) { ! Debug.info("*********************************************************************"); ! Debug.info("** Error setting up OracleConnector in in callOracleProcess *********"); ! Debug.info("*********************************************************************"); ! Debug.info(e.getMessage()); ! e.printStackTrace(); ! Debug.info("*********************************************************************"); ! } ! ! Debug.info("\t" + item.getUniqueId() ! + ": Sending request to Banner..."); ! clob = jdbc.processUnitimePacket(xml); ! Debug.info("\t" + item.getUniqueId() ! + ": Response received from Banner."); ! try { ! outDoc = ClobTools.clobToDocument(clob); ! ! } catch (Exception ex) { ! Debug.info("***************************************"); ! Debug.info("** Error in callOracleProcess *********"); ! Debug.info("***************************************"); ! ex.printStackTrace(); ! Debug.info("***************************************"); ! } jdbc.cleanup(); --- 111,122 ---- DocumentException { ! OracleConnector jdbc = getJDBCconnection(); ! Debug.info("\t" + item.getUniqueId() + ": Sending request to Banner..."); ! Clob clob = jdbc.processUnitimePacket(xml); ! Debug.info("\t" + item.getUniqueId() + ": Response received from Banner."); + Document outDoc = convertClobToDocument(clob); + jdbc.cleanup(); *************** *** 170,229 **** } - public static String getBannerHost() throws Exception{ - if (bannerHost == null){ - bannerHost = ApplicationProperties.getProperty("banner.host"); - if (bannerHost == null || bannerHost.trim().length() == 0){ - throw new Exception("Missing required custom application property: 'banner.host', this property must be set to the host machine for the banner database."); - } - } - return bannerHost; - } - - public static String getBannerPort() throws Exception{ - if (bannerPort == null){ - bannerPort = ApplicationProperties.getProperty("banner.port"); - if (bannerPort == null || bannerPort.trim().length() == 0){ - throw new Exception("Missing required custom application property: 'bannerPort', this property must be set to the port number used to connect to the banner database."); - } - } - return bannerPort; - } - - public static String getBannerDatabase() throws Exception{ - if (bannerDatabase == null){ - bannerDatabase = ApplicationProperties.getProperty("banner.database"); - if (bannerDatabase == null || bannerDatabase.trim().length() == 0){ - throw new Exception("Missing required custom application property: 'bannerDatabase', this property must be set to the name of the database that hosts the banner schema."); - } - } - return bannerDatabase; - } - - public static String getBannerUser() throws Exception{ - if (bannerUser == null){ - bannerUser = ApplicationProperties.getProperty("banner.user"); - if (bannerUser == null || bannerUser.trim().length() == 0){ - throw new Exception("Missing required custom application property: 'bannerUser', this property must be set to the name of the user used to access the banner schema."); - } - } - return bannerUser; - } - - public static String getBannerPassword() throws Exception{ - if (bannerPassword == null){ - bannerPassword = ApplicationProperties.getProperty("banner.password"); - if (bannerPassword == null || bannerPassword.trim().length() == 0){ - throw new Exception("Missing required custom application property: 'bannerPassword', this property must be set to the password of the user used to access the banner schema."); - } - } - return bannerPassword; - } - - // public void run() { - // - // Debug.info("\t" + item.getId() + ": Beginning Request..."); - // this.processItem(item); - // Debug.info("\t" + item.getId() + ": Finished with Request..."); - // - // } } --- 125,127 ---- --- NEW FILE: PollStudentUpdates.java --- /* * UniTime 3.1 (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 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. */ package org.unitime.banner.queueprocessor; import java.io.IOException; import java.sql.Clob; import java.sql.SQLException; import java.util.Date; import org.dom4j.Document; import org.dom4j.DocumentException; import org.unitime.banner.dataexchange.BannerStudentDataUpdate; import org.unitime.banner.model.QueueIn; import org.unitime.banner.model.dao.QueueInDAO; import org.unitime.banner.queueprocessor.exception.LoggableException; import org.unitime.banner.queueprocessor.oracle.OracleConnector; import org.unitime.commons.Debug; import org.unitime.timetable.ApplicationProperties; public class PollStudentUpdates extends BannerCaller { QueueInDAO qid; private boolean pollForStudentUpdates = false; public PollStudentUpdates() { super(); pollForStudentUpdates = "true".equalsIgnoreCase(ApplicationProperties.getProperty("banner.studentUpdates.pollBannerForUpdates", "false")); } public void poll() { if (!pollForStudentUpdates) return; try { Document result = callOracleProcess(); QueueIn qi = new QueueIn(); try { qi.setPostDate(new Date()); QueueInDAO qid = new QueueInDAO(); qi.setMatchId(null); qi.setStatus(QueueIn.STATUS_POSTED); qi.setXml(result); qid.save(qi); // Process in UniTime BannerStudentDataUpdate.receiveResponseDocument(qi); } catch (Exception ex) { LoggableException le = new LoggableException(ex, qi); le.logError(); throw le; } } catch(SQLException sqlEx) { LoggableException le = new LoggableException(sqlEx); le.logError(); } catch (Exception ex) { LoggableException le = new LoggableException(ex); le.logError(); } } private Document callOracleProcess() throws ClassNotFoundException, SQLException, IOException, DocumentException { OracleConnector jdbc = getJDBCconnection(); Debug.info("\tSending student update request to Banner..."); Clob clob = jdbc.requestEnrollmentChanges(); Debug.info("\tResponse received from Banner."); Document outDoc = convertClobToDocument(clob); jdbc.cleanup(); return outDoc; } } Index: ProcessQueue.java =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/ProcessQueue.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** ProcessQueue.java 22 Oct 2010 16:59:19 -0000 1.1.2.2 --- ProcessQueue.java 8 Nov 2010 18:57:09 -0000 1.1.2.3 *************** *** 50,54 **** public static void main(String[] args) { ! ProcessQueue pq = new ProcessQueue(); Date lastRunTime = new Date(); --- 50,55 ---- public static void main(String[] args) { ! ProcessQueue processQueue = new ProcessQueue(); ! PollStudentUpdates pollStudentUpdates = new PollStudentUpdates(); Date lastRunTime = new Date(); *************** *** 107,111 **** || (new Date()).getTime() - lastRunTime.getTime() >= sleep_interval) { lastRunTime = new Date(); ! pq.process(); } else { try { --- 108,113 ---- || (new Date()).getTime() - lastRunTime.getTime() >= sleep_interval) { lastRunTime = new Date(); ! processQueue.process(); ! pollStudentUpdates.poll(); } else { try { |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:18
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/dataexchange In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource/org/unitime/banner/dataexchange Added Files: Tag: dev_curriculum BannerStudentDataUpdate.java Log Message: Added support for real time student curriculum and enrollment updates. --- NEW FILE: BannerStudentDataUpdate.java --- /* * UniTime 3.1 (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 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. */ package org.unitime.banner.dataexchange; import java.util.Date; import java.util.HashMap; import java.util.HashSet; import java.util.Hashtable; import java.util.Iterator; import java.util.Vector; import org.dom4j.Element; import org.unitime.banner.model.BannerSection; import org.unitime.banner.model.BannerSession; import org.unitime.banner.model.Queue; import org.unitime.banner.model.QueueIn; import org.unitime.banner.model.dao.QueueInDAO; import org.unitime.banner.queueprocessor.exception.LoggableException; import org.unitime.timetable.ApplicationProperties; import org.unitime.timetable.dataexchange.BaseImport; import org.unitime.timetable.model.AcademicArea; import org.unitime.timetable.model.AcademicAreaClassification; import org.unitime.timetable.model.AcademicClassification; import org.unitime.timetable.model.Class_; import org.unitime.timetable.model.CourseOffering; import org.unitime.timetable.model.PosMajor; import org.unitime.timetable.model.Session; import org.unitime.timetable.model.Student; import org.unitime.timetable.model.StudentClassEnrollment; import org.unitime.timetable.model.StudentSectioningQueue; /** * @author says * */ public class BannerStudentDataUpdate extends BaseImport { private static String rootName = "studentUpdates"; private static String studentElementName = "student"; private static String enrollmentElementName = "enrollment"; private HashMap<Session,HashSet<Long>> studentIdsSucessfullyProcessed = new HashMap<Session, HashSet<Long>>(); private HashSet<String> studentIdsNotProcessed = new HashSet<String>(); private HashSet<String> studentIdsSucessfullyProcessedWithProblems = new HashSet<String>(); private boolean trimLeadingZerosFromExternalId; private HashMap<String, Vector<Long>> bannerSessionIdMap = new HashMap<String, Vector<Long>>(); /** * */ public BannerStudentDataUpdate() { super(); } @Override public void loadXml(Element rootElement) throws Exception { Date start = new Date(); Date elementStart; Date elementEnd; long maxElementTime = Long.MIN_VALUE; long minElementTime = Long.MAX_VALUE; long elementCount = 0; long timeDiff; // TreeMap<Long, Long> timeMap = new TreeMap<Long, Long>(); trimLeadingZerosFromExternalId = "true".equals(ApplicationProperties.getProperty("tmtbl.data.exchange.trim.externalId","false")); if (rootElement.getName().equalsIgnoreCase(rootName)) { for (Iterator<?> eIt = rootElement.elementIterator(studentElementName); eIt.hasNext();) { elementStart = new Date(); Element studentElement = (Element) eIt.next(); processStudentElement(studentElement); elementEnd = new Date(); timeDiff = elementEnd.getTime() - elementStart.getTime(); if (timeDiff < minElementTime){ minElementTime = timeDiff; } if (timeDiff > maxElementTime){ maxElementTime = timeDiff; } // Long timeCount = timeMap.get(new Long(timeDiff)); // if (timeCount == null){ // timeCount = new Long(0); // } // timeMap.put(new Long(timeDiff), new Long(timeCount.longValue() + 1)); elementCount++; } beginTransaction(); int studentCount = 0; for(Session session : studentIdsSucessfullyProcessed.keySet()){ HashSet<Long> updatedStudents = studentIdsSucessfullyProcessed.get(session); if (!updatedStudents.isEmpty()){ StudentSectioningQueue.studentChanged(getHibSession(), session.getUniqueId(), updatedStudents); studentCount += updatedStudents.size(); } } commitTransaction(); Date end = new Date(); info(Integer.toString(studentCount) + " student records updated in " + (end.getTime() - start.getTime())+ " milliseconds."); info(Integer.toString(studentIdsNotProcessed.size()) + " student records failed to update."); info(Integer.toString(studentIdsSucessfullyProcessedWithProblems.size()) + " student records were updated, but had problems."); info("Minimum milliseconds required to process a record = " + minElementTime); info("Maximum milliseconds required to process a record = " + maxElementTime); info("Average milliseconds required to process a record = " + ((end.getTime() - start.getTime())/elementCount)); // info("The distribution of time to process each record is as follows:"); // for(Long elapsedTime : timeMap.keySet()){ // info(" " + elapsedTime.toString() + ": " + timeMap.get(elapsedTime).toString()); // } if (!studentIdsNotProcessed.isEmpty()){ error("The following student ids were not successfully processed: "); for(String studentId : studentIdsNotProcessed){ error(" " + studentId); } } if (!studentIdsSucessfullyProcessedWithProblems.isEmpty()){ error("The following student ids were successfully processed, but may have had problems finding all classes the student was enrolled in: "); for(String studentId : studentIdsSucessfullyProcessedWithProblems){ error(" " + studentId); } } } } private void processStudentElement(Element studentElement) { String externalId = null; HashMap<Session, HashSet<Long>> studentUpdates = null; try { externalId = getRequiredStringAttribute(studentElement, "externalId", studentElementName); while (trimLeadingZerosFromExternalId && externalId.startsWith("0")) externalId = externalId.substring(1); } catch (Exception e) { error(e.getMessage()); return; } if (externalId.trim().length() == 0){ error("For element '" + studentElementName + "' an 'externalId' is required"); } String bannerSession = null; try { bannerSession = getRequiredStringAttribute(studentElement, "session", studentElementName); } catch (Exception e) { error(e.getMessage()); studentIdsNotProcessed.add(externalId); return; } beginTransaction(); HashSet<Student> studentRecords = new HashSet<Student>(); for(Long sessionId : getSessionIdsForBannerSession(bannerSession)){ Student s = Student.findByExternalId(sessionId, externalId); if (s != null){ studentRecords.add(s); } } String firstName = null; String lastName = null; String academicArea = null; String classification = null; String major = null; try { firstName = getRequiredStringAttribute(studentElement, "firstName", studentElementName); lastName = getRequiredStringAttribute(studentElement, "lastName", studentElementName); academicArea = getRequiredStringAttribute(studentElement, "academicArea", studentElementName); classification = getRequiredStringAttribute(studentElement, "classification", studentElementName); major = getRequiredStringAttribute(studentElement, "major", studentElementName); } catch (Exception e) { error(e.getMessage()); studentIdsNotProcessed.add(externalId); rollbackTransaction(); return; } String email = getOptionalStringAttribute(studentElement, "email"); String middleName = getOptionalStringAttribute(studentElement, "middleName"); HashMap<Session, HashMap<CourseOffering, Vector<Class_>>> classEnrollments = null; try { classEnrollments = processEnrollmentElements(studentElement, bannerSession, externalId); } catch (Exception e) { studentIdsNotProcessed.add(externalId); error(e.getMessage()); rollbackTransaction(); return; } try { studentUpdates = updateStudent(studentRecords, classEnrollments, externalId, firstName, middleName, lastName, academicArea, classification, major, email); } catch (Exception e) { studentIdsNotProcessed.add(externalId); error(e.getMessage()); rollbackTransaction(); return; } commitTransaction(); mergeSessionRecordLists(studentIdsSucessfullyProcessed, studentUpdates); } private void addSessionRecordToList(HashMap<Session, HashSet<Long>> processedList, Session session, Long uniqueId){ HashSet<Long> ids = processedList.get(session); if (ids == null){ ids = new HashSet<Long>(); processedList.put(session, ids); } ids.add(uniqueId); } private void mergeSessionRecordLists(HashMap<Session, HashSet<Long>> globalList, HashMap<Session, HashSet<Long>> studentList){ for(Session session : studentList.keySet()){ HashSet<Long> ids = studentList.get(session); HashSet<Long> globalIds = globalList.get(session); if (globalIds == null){ globalIds = new HashSet<Long>(); globalList.put(session, globalIds); } globalIds.addAll(ids); } } private HashMap<Session, HashSet<Long>> updateStudent(HashSet<Student> studentRecords, HashMap<Session, HashMap<CourseOffering,Vector<Class_>>> classEnrollments, String externalId, String firstName, String middleName, String lastName, String academicArea, String classification, String major, String email) { HashMap<Session, HashSet<Long>> recordsProcessed = new HashMap<Session, HashSet<Long>>(); if (classEnrollments.isEmpty()){ // If the student has no enrollments remove the student records found for(Student student : studentRecords){ addSessionRecordToList(recordsProcessed, student.getSession(), student.getUniqueId()); getHibSession().delete(student); } } else { // If the student has enrollments update the student's information in each session the student // has enrollments in and remove the student from any session the student no longer has enrollments in HashSet<Student> records = new HashSet<Student>(); records.addAll(studentRecords); for(Session session : classEnrollments.keySet()){ boolean changed = false; Student record = null; for(Student student : records){ if (student.getSession().getUniqueId().equals(session.getUniqueId())){ record = student; break; } } if (record == null){ record = new Student(); record.setExternalUniqueId(externalId); record.setSession(session); record.setFreeTimeCategory(0); record.setSchedulePreference(0); record.setClassEnrollments(new HashSet<StudentClassEnrollment>()); record.setAcademicAreaClassifications(new HashSet<AcademicAreaClassification>()); record.setPosMajors(new HashSet<PosMajor>()); changed = true; } else { records.remove(record); } if (record.getFirstName() == null || !record.getFirstName().equals(firstName)){ record.setFirstName(firstName); changed = true; } if (record.getMiddleName() == null || !record.getMiddleName().equals(middleName)){ record.setMiddleName(middleName); changed = true; } if (record.getLastName() == null || !record.getLastName().equals(lastName)){ record.setLastName(lastName); changed = true; } if (record.getEmail() == null || !record.getEmail().equals(email)){ record.setEmail(email); changed = true; } // This makes the assumption that when working with Banner students have only one AcademicAreaClassification AcademicAreaClassification aac = null; for(Iterator<?> it = record.getAcademicAreaClassifications().iterator(); it.hasNext();){ aac = (AcademicAreaClassification) it.next(); break; } if (aac == null || !((aac.getAcademicArea().getExternalUniqueId().equalsIgnoreCase(academicArea) || aac.getAcademicArea().getAcademicAreaAbbreviation().equalsIgnoreCase(academicArea)) && (aac.getAcademicClassification().getExternalUniqueId().equalsIgnoreCase(classification) || aac.getAcademicClassification().getCode().equalsIgnoreCase(classification)))) { record.getAcademicAreaClassifications().clear(); aac = new AcademicAreaClassification(); AcademicArea aa = AcademicArea.findByExternalId(session.getUniqueId(), academicArea); if (aa == null){ aa = AcademicArea.findByAbbv(session.getUniqueId(), academicArea); } if (aa == null){ aa = new AcademicArea(); aa.setAcademicAreaAbbreviation(academicArea); aa.setSession(session); aa.setExternalUniqueId(externalId); aa.setLongTitle(academicArea); aa.setShortTitle(academicArea); aa.setUniqueId((Long)getHibSession().save(aa)); info("Added Academic Area: " + academicArea); } aac.setAcademicArea(aa); AcademicClassification ac = AcademicClassification.findByExternalId(session.getUniqueId(), classification); if (ac == null){ ac = AcademicClassification.findByCode(session.getUniqueId(), classification); } if (ac == null){ ac = new AcademicClassification(); ac.setCode(classification); ac.setExternalUniqueId(classification); ac.setName(classification); ac.setSession(session); ac.setUniqueId((Long) getHibSession().save(ac)); info("Added Academic Classification: " + classification); } aac.setAcademicClassification(ac); aac.setStudent(record); record.getAcademicAreaClassifications().add(aac); changed = true; } //This makes the assumption that when working with Banner students have only one Major PosMajor m = null; for(Iterator<?> it = record.getPosMajors().iterator(); it.hasNext();){ m = (PosMajor) it.next(); } if (m == null || !(major.equalsIgnoreCase(m.getExternalUniqueId()) || major.equalsIgnoreCase(m.getCode()))){ record.getPosMajors().clear(); PosMajor posMajor = PosMajor.findByExternalId(session.getUniqueId(), major); if (posMajor == null){ posMajor = PosMajor.findByCode(session.getUniqueId(), major); } if (posMajor == null){ posMajor = new PosMajor(); posMajor.setCode(major); posMajor.setExternalUniqueId(major); posMajor.setName(major); posMajor.setSession(session); posMajor.setUniqueId((Long)getHibSession().save(posMajor)); info("Added Major: " + major); } record.addToposMajors(posMajor); changed = true; } Hashtable<Long, StudentClassEnrollment> enrollments = new Hashtable<Long, StudentClassEnrollment>(); if (record.getClassEnrollments() != null){ for (StudentClassEnrollment enrollment: record.getClassEnrollments()) { enrollments.put(enrollment.getClazz().getUniqueId(), enrollment); } } HashMap<CourseOffering, Vector<Class_>> courseToClassEnrollments = classEnrollments.get(session); for (CourseOffering co : courseToClassEnrollments.keySet()){ for (Class_ clazz: courseToClassEnrollments.get(co)) { StudentClassEnrollment enrollment = enrollments.remove(clazz.getUniqueId()); if (enrollment != null) continue; // enrollment already exists enrollment = new StudentClassEnrollment(); enrollment.setStudent(record); enrollment.setClazz(clazz); enrollment.setCourseOffering(co); enrollment.setTimestamp(new java.util.Date()); record.getClassEnrollments().add(enrollment); changed = true; } } if (!enrollments.isEmpty()) { for (StudentClassEnrollment enrollment: enrollments.values()) { record.getClassEnrollments().remove(enrollment); getHibSession().delete(enrollment); } changed = true; } Long uid = record.getUniqueId(); if (uid == null){ uid = (Long) getHibSession().save(record); } else if (changed) { getHibSession().update(record); } addSessionRecordToList(recordsProcessed, session, uid); } if (!records.isEmpty()){ for(Student student : records){ addSessionRecordToList(recordsProcessed, student.getSession(), student.getUniqueId()); getHibSession().delete(student); } } } return(recordsProcessed); } private HashMap<Session, HashMap<CourseOffering, Vector<Class_>>> processEnrollmentElements( Element studentElement, String bannerSession, String externalId) throws Exception { HashMap<Session, HashMap<CourseOffering, Vector<Class_>>> enrollments = new HashMap<Session, HashMap<CourseOffering,Vector<Class_>>>(); for (Iterator<?> eIt = studentElement.elementIterator(enrollmentElementName); eIt.hasNext();) { Element enrollmentElement = (Element) eIt.next(); Integer crn = getRequiredIntegerAttribute(enrollmentElement, "crn", enrollmentElementName); CourseOffering co = BannerSection.findCourseOfferingForCrnAndTermCode(crn, bannerSession); if (co == null){ studentIdsSucessfullyProcessedWithProblems.add(externalId); error("Course Offering not found for CRN = " + crn.toString() + ", banner session = " + bannerSession); continue; } boolean foundClasses = false; for(Iterator<?> it = BannerSection.findAllClassesForCrnAndTermCode(crn, bannerSession).iterator(); it.hasNext();){ Class_ c = (Class_) it.next(); foundClasses = true; HashMap<CourseOffering,Vector<Class_>> sessionCourseToClasses = enrollments.get(c.getSessionId()); if (sessionCourseToClasses == null){ sessionCourseToClasses = new HashMap<CourseOffering, Vector<Class_>>(); enrollments.put(c.getSession(), sessionCourseToClasses); } Vector<Class_> classes = sessionCourseToClasses.get(co); if (classes == null){ classes = new Vector<Class_>(); sessionCourseToClasses.put(co, classes); } classes.add(c); } if (!foundClasses){ studentIdsSucessfullyProcessedWithProblems.add(externalId); error("Classes not found for CRN = " + crn.toString() + ", banner session = " + bannerSession); } } return(enrollments); } private Vector<Long> getSessionIdsForBannerSession(String bannerSessionId) { if (bannerSessionIdMap.get(bannerSessionId) == null){ Vector<Long> sessionIds = new Vector<Long>(); bannerSessionIdMap.put(bannerSessionId, sessionIds); for (Iterator<?> it = getHibSession().createQuery("from BannerSession bs where bs.bannerTermCode = :termCode)").setString("termCode", bannerSessionId).list().iterator(); it.hasNext();){ BannerSession bs = (BannerSession) it.next(); sessionIds.add(bs.getSession().getUniqueId()); } } return(bannerSessionIdMap.get(bannerSessionId)); } public static void receiveResponseDocument(QueueIn queueIn) throws LoggableException { Element rootElement = queueIn.getXml().getRootElement(); if (rootElement.getName().equalsIgnoreCase(rootName)){ try { BannerStudentDataUpdate rbrm = new BannerStudentDataUpdate(); rbrm.loadXml(rootElement); queueIn.setProcessDate(new Date()); queueIn.setStatus(Queue.STATUS_PROCESSED); QueueInDAO.getInstance().getSession().update(queueIn); } catch (Exception e) { LoggableException le = new LoggableException(e, queueIn); le.logError(); throw le; } } } } |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:18
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/oracle In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource/org/unitime/banner/queueprocessor/oracle Modified Files: Tag: dev_curriculum OracleConnector.java Log Message: Added support for real time student curriculum and enrollment updates. Index: OracleConnector.java =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/oracle/OracleConnector.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** OracleConnector.java 22 Oct 2010 16:59:19 -0000 1.1.2.1 --- OracleConnector.java 8 Nov 2010 18:57:10 -0000 1.1.2.2 *************** *** 43,48 **** private Connection conn = null; - private static String bannerStoredProcedureCall; - public OracleConnector(String host, String db, String port, String user, String password) throws ClassNotFoundException, SQLException { --- 43,46 ---- *************** *** 88,91 **** --- 86,115 ---- } + + private void outputStandardStudentUpdateDebugInfo(Exception e){ + Debug.info("******************************************************************************************************"); + Debug.info("** Make sure the stored procedure that is to request student updates for banner exists. The call to "); + Debug.info("** the stored procedure is defined by the property: 'banner.studentUpdates.storedProcedure.call'."); + Debug.info("** The required format of the parameters for the Banner Stored procedure must be: "); + Debug.info("**"); + Debug.info("** out_response => ?"); + Debug.info("**"); + Debug.info("** The names of the parameters may change but the first parameter must be a CLOB input,"); + Debug.info("** the second parameter must be a CLOB output, and the third parameter must be a CLOB output"); + Debug.info("**"); + Debug.info("** An example of how to define a banner stored procedure call in the properties file is as follows:"); + Debug.info("**"); + Debug.info("** banner.storedProcedure.call=begin sz_unitime.p_request_student_updates(out_response => ?); end;"); + Debug.info("**"); + Debug.info("** If you change the value of the 'banner.studentUpdates.storedProcedure.call' the queue processor must be"); + Debug.info("** restarted to begin using the new procedure call."); + Debug.info("**"); + Debug.info("** If you have the parameters defined correctly then possbile he error is in documentToCLOB "); + Debug.info("******************************************************************************************************"); + e.printStackTrace(); + Debug.info("******************************************************************************************************"); + + } + public Clob processUnitimePacket(Document in_clob) throws SQLException, IOException { *************** *** 138,141 **** --- 162,196 ---- } + + public Clob requestEnrollmentChanges() throws SQLException, + IOException { + + CallableStatement stmt = null; + try { + stmt = conn.prepareCall(getBannerStudentUpdatesStoredProcedureCall()); + } catch (Exception e1) { + outputStandardStudentUpdateDebugInfo(e1); + } + + try { + stmt.registerOutParameter(1, java.sql.Types.CLOB); + } catch (Exception e) { + outputStandardStudentUpdateDebugInfo(e); + } + + try { + stmt.execute(); + } catch (Exception e) { + outputStandardStudentUpdateDebugInfo(e); + } + + Clob out_clob = stmt.getClob(1); + + stmt.close(); + + return out_clob; + + } + public void cleanup() throws SQLException { *************** *** 145,156 **** private static String getBannerStoredProcedureCall() throws Exception{ ! if (bannerStoredProcedureCall == null){ ! bannerStoredProcedureCall = ApplicationProperties.getProperty("banner.storedProcedure.call"); ! if (bannerStoredProcedureCall == null || bannerStoredProcedureCall.trim().length() == 0){ ! bannerStoredProcedureCall = "begin sz_unitime.p_process_packet(in_packet => ?,out_response => ?,out_sync => ?); end;"; ! } ! } return bannerStoredProcedureCall; } } --- 200,217 ---- private static String getBannerStoredProcedureCall() throws Exception{ ! String bannerStoredProcedureCall = ApplicationProperties.getProperty("banner.storedProcedure.call"); ! if (bannerStoredProcedureCall == null || bannerStoredProcedureCall.trim().length() == 0){ ! bannerStoredProcedureCall = "begin sz_unitime.p_process_packet(in_packet => ?,out_response => ?,out_sync => ?); end;"; ! } return bannerStoredProcedureCall; } + private static String getBannerStudentUpdatesStoredProcedureCall() throws Exception{ + String bannerStudentUpdatesStoredProcedureCall = ApplicationProperties.getProperty("banner.studentUpdates.storedProcedure.call"); + if (bannerStudentUpdatesStoredProcedureCall == null || bannerStudentUpdatesStoredProcedureCall.trim().length() == 0){ + bannerStudentUpdatesStoredProcedureCall = "begin sz_unitime.p_request_student_updates(out_response => ?); end;"; + } + return bannerStudentUpdatesStoredProcedureCall; + } + } |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:17
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/util In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource/org/unitime/banner/queueprocessor/util Modified Files: Tag: dev_curriculum QueueProcessorCheck.java Log Message: Added support for real time student curriculum and enrollment updates. Index: QueueProcessorCheck.java =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/queueprocessor/util/QueueProcessorCheck.java,v retrieving revision 1.1.2.2 retrieving revision 1.1.2.3 diff -C2 -d -r1.1.2.2 -r1.1.2.3 *** QueueProcessorCheck.java 22 Oct 2010 16:59:19 -0000 1.1.2.2 --- QueueProcessorCheck.java 8 Nov 2010 18:57:09 -0000 1.1.2.3 *************** *** 22,26 **** import org.hibernate.Query; ! import org.unitime.banner.queueprocessor.QueuedItem; import org.unitime.banner.queueprocessor.oracle.OracleConnector; import org.unitime.commons.Email; --- 22,26 ---- import org.hibernate.Query; ! import org.unitime.banner.queueprocessor.BannerCaller; import org.unitime.banner.queueprocessor.oracle.OracleConnector; import org.unitime.commons.Email; *************** *** 60,68 **** try { jdbc = new OracleConnector( ! QueuedItem.getBannerHost(), ! QueuedItem.getBannerDatabase(), ! QueuedItem.getBannerPort(), ! QueuedItem.getBannerUser(), ! QueuedItem.getBannerPassword()); mailMessage("UniTime Queue Processor for database " + HibernateUtil.getDatabaseName() + " has " + ct + " unprocessed transactions that are more than "+minutes+" minutes old"); System.exit(33); --- 60,68 ---- try { jdbc = new OracleConnector( ! BannerCaller.getBannerHost(), ! BannerCaller.getBannerDatabase(), ! BannerCaller.getBannerPort(), ! BannerCaller.getBannerUser(), ! BannerCaller.getBannerPassword()); mailMessage("UniTime Queue Processor for database " + HibernateUtil.getDatabaseName() + " has " + ct + " unprocessed transactions that are more than "+minutes+" minutes old"); System.exit(33); |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:17
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/Documentation/Database/Oracle/Changes In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/Documentation/Database/Oracle/Changes Added Files: Tag: dev_curriculum 03 Banner CRN Lookup Indexes.sql Log Message: Added support for real time student curriculum and enrollment updates. --- NEW FILE: 03 Banner CRN Lookup Indexes.sql --- /* * UniTime 3.1 (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 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. */ /* * Author: Stephanie Schluttenhofer */ /* * Add indexes to the Banner Section and Banner Session tables */ create index idx_banner_section_sess_crn on banner_section(session_id, crn); create index idx_banner_session_term_code on banner_session(banner_term_code); /* * Update database version */ update application_config set value='3' where name='tmtbl.db.banner.version'; commit; |
|
From: Stephanie S. <say...@us...> - 2010-11-08 18:57:17
|
Update of /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/commons/hibernate/util In directory sfp-cvsdas-2.v30.ch3.sourceforge.com:/tmp/cvs-serv19876/JavaSource/org/unitime/banner/commons/hibernate/util Modified Files: Tag: dev_curriculum BannerUpdateListener.java Log Message: Added support for real time student curriculum and enrollment updates. Index: BannerUpdateListener.java =================================================================== RCS file: /cvsroot/unitime/UniTimeBannerAddOn/JavaSource/org/unitime/banner/commons/hibernate/util/BannerUpdateListener.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -C2 -d -r1.1.2.1 -r1.1.2.2 *** BannerUpdateListener.java 15 Oct 2010 15:58:07 -0000 1.1.2.1 --- BannerUpdateListener.java 8 Nov 2010 18:57:09 -0000 1.1.2.2 *************** *** 46,49 **** --- 46,50 ---- DataExchangeHelper.sExportRegister.put("schedule", BannerSectionAuditExport.class); DataExchangeHelper.sImportRegister.put("enterprise", org.unitime.banner.dataexchange.BannerStudentEnrollmentMessage.class); + DataExchangeHelper.sImportRegister.put("studentUpdates", org.unitime.banner.dataexchange.BannerStudentDataUpdate.class); } |