001/** 002 * Copyright 2005-2015 The Kuali Foundation 003 * 004 * Licensed under the Educational Community License, Version 2.0 (the "License"); 005 * you may not use this file except in compliance with the License. 006 * You may obtain a copy of the License at 007 * 008 * http://www.opensource.org/licenses/ecl2.php 009 * 010 * Unless required by applicable law or agreed to in writing, software 011 * distributed under the License is distributed on an "AS IS" BASIS, 012 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 013 * See the License for the specific language governing permissions and 014 * limitations under the License. 015 */ 016package org.kuali.rice.krad.labs; 017 018import org.kuali.rice.krad.web.controller.UifControllerBase; 019import org.kuali.rice.krad.web.form.UifFormBase; 020import org.springframework.stereotype.Controller; 021import org.springframework.validation.BindingResult; 022import org.springframework.web.bind.annotation.ModelAttribute; 023import org.springframework.web.bind.annotation.RequestMapping; 024import org.springframework.web.servlet.ModelAndView; 025 026import java.io.*; 027import java.net.*; 028 029import javax.json.*; 030 031import javax.servlet.http.HttpServletRequest; 032import javax.servlet.http.HttpServletResponse; 033import java.util.ArrayList; 034import java.util.List; 035 036/** 037 * This class is the controller class for kitchen sink performance page. 038 * 039 * @author Kuali Student Team 040 */ 041@Controller 042@RequestMapping(value = "/kitchensinkperformance") 043public class KitchenSinkPerformanceController extends UifControllerBase { 044 045 public static final String KUALI_ATP_2012_FALL = "kuali.atp.2012Fall"; 046// ScheduleOfClassesService scheduleOfClassesService; 047 048 /** 049 * @see org.kuali.rice.krad.web.controller.UifControllerBase#createInitialForm(javax.servlet.http.HttpServletRequest) 050 */ 051 @Override 052 protected KitchenSinkPerformanceForm createInitialForm() { 053 return new KitchenSinkPerformanceForm(); 054 } 055 056 @Override 057 @RequestMapping(params = "methodToCall=start") 058 public ModelAndView start(UifFormBase form) { 059 KitchenSinkPerformanceForm perfForm = (KitchenSinkPerformanceForm) form; 060 061 return getModelAndView(perfForm); 062 } 063 064 /** 065 * This method takes the user input (int) and generates a collection with that many rows. That collection is saved 066 * to the form object so it can be displayed on the page. 067 * @param form KitchenSinkPerformanceForm 068 * @param result 069 * @param request 070 * @param response 071 * @return ModelAndView 072 */ 073 @RequestMapping(params = "methodToCall=buildcollection") 074 public ModelAndView buildCollection(@ModelAttribute("KualiForm") KitchenSinkPerformanceForm form, BindingResult result, 075 HttpServletRequest request, HttpServletResponse response) { 076 077 String courseCode = form.getInputOne(); // get input from page 078 String termId = KUALI_ATP_2012_FALL; 079 String termCode = "201208"; 080 String temp = "[\n" 081 + " {\n" 082 + " \"courseOfferingId\":\"9e89ed85-66ba-4a9c-9765-c36e78929051\",\n" 083 + " \"courseOfferingCode\":\"CHEM105\",\n" 084 + " \"courseOfferingDesc\":\"Fundamental of Organic and Biochemistry\",\n" 085 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 086 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 087 + " \"studentSelectablePassFail\":true,\n" 088 + " \"auditCourse\":true,\n" 089 + " \"honorsCourse\":false\n" 090 + " },\n" 091 + " {\n" 092 + " \"courseOfferingId\":\"25a7e006-e71a-4d5d-806c-04675f365222\",\n" 093 + " \"courseOfferingCode\":\"CHEM131\",\n" 094 + " \"courseOfferingDesc\":\"Chemistry I - Fundamentals of General Chemistry\",\n" 095 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 096 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 097 + " \"studentSelectablePassFail\":true,\n" 098 + " \"auditCourse\":true,\n" 099 + " \"honorsCourse\":false\n" 100 + " },\n" 101 + " {\n" 102 + " \"courseOfferingId\":\"ea618cb3-8583-4833-bbe3-43c7961f70fb\",\n" 103 + " \"courseOfferingCode\":\"CHEM131S\",\n" 104 + " \"courseOfferingDesc\":\"Chemistry I - Fundamentals of General Chemistry\",\n" 105 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 106 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 107 + " \"studentSelectablePassFail\":true,\n" 108 + " \"auditCourse\":true,\n" 109 + " \"honorsCourse\":false\n" 110 + " },\n" 111 + " {\n" 112 + " \"courseOfferingId\":\"ee786c4b-57c9-4237-9519-4bdb961ca5d4\",\n" 113 + " \"courseOfferingCode\":\"CHEM132\",\n" 114 + " \"courseOfferingDesc\":\"General Chemistry I Laboratory\",\n" 115 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 116 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 117 + " \"studentSelectablePassFail\":true,\n" 118 + " \"auditCourse\":false,\n" 119 + " \"honorsCourse\":false\n" 120 + " },\n" 121 + " {\n" 122 + " \"courseOfferingId\":\"56802cf2-5577-4163-9fa7-a356396e8d45\",\n" 123 + " \"courseOfferingCode\":\"CHEM132C\",\n" 124 + " \"courseOfferingDesc\":\"General Chemistry I Laboratory\",\n" 125 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 126 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 127 + " \"studentSelectablePassFail\":true,\n" 128 + " \"auditCourse\":false,\n" 129 + " \"honorsCourse\":false\n" 130 + " },\n" 131 + " {\n" 132 + " \"courseOfferingId\":\"5fc5ff07-eb70-4c0a-b549-124eb879c8cb\",\n" 133 + " \"courseOfferingCode\":\"CHEM132S\",\n" 134 + " \"courseOfferingDesc\":\"General Chemistry I Laboratory\",\n" 135 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 136 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 137 + " \"studentSelectablePassFail\":true,\n" 138 + " \"auditCourse\":false,\n" 139 + " \"honorsCourse\":false\n" 140 + " },\n" 141 + " {\n" 142 + " \"courseOfferingId\":\"ced6bd11-bcd2-445f-be16-3a46d8231323\",\n" 143 + " \"courseOfferingCode\":\"CHEM135\",\n" 144 + " \"courseOfferingDesc\":\"General Chemistry for Engineers\",\n" 145 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 146 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 147 + " \"studentSelectablePassFail\":false,\n" 148 + " \"auditCourse\":false,\n" 149 + " \"honorsCourse\":false\n" 150 + " },\n" 151 + " {\n" 152 + " \"courseOfferingId\":\"27f703ed-d24c-4580-a401-105b3b1e5825\",\n" 153 + " \"courseOfferingCode\":\"CHEM135U\",\n" 154 + " \"courseOfferingDesc\":\"General Chemistry for Engineers\",\n" 155 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 156 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 157 + " \"studentSelectablePassFail\":false,\n" 158 + " \"auditCourse\":false,\n" 159 + " \"honorsCourse\":false\n" 160 + " },\n" 161 + " {\n" 162 + " \"courseOfferingId\":\"e960defa-3c0c-4bf6-bb2f-0ec13d80096d\",\n" 163 + " \"courseOfferingCode\":\"CHEM136\",\n" 164 + " \"courseOfferingDesc\":\"General Chemistry Laboratory for Engineers\",\n" 165 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 166 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 167 + " \"studentSelectablePassFail\":false,\n" 168 + " \"auditCourse\":false,\n" 169 + " \"honorsCourse\":false\n" 170 + " },\n" 171 + " {\n" 172 + " \"courseOfferingId\":\"2403ccea-0951-4730-b481-445631cc14a9\",\n" 173 + " \"courseOfferingCode\":\"CHEM146\",\n" 174 + " \"courseOfferingDesc\":\"Principles of General Chemistry\",\n" 175 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 176 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 177 + " \"studentSelectablePassFail\":true,\n" 178 + " \"auditCourse\":true,\n" 179 + " \"honorsCourse\":false\n" 180 + " },\n" 181 + " {\n" 182 + " \"courseOfferingId\":\"bc3cafeb-5c1a-452c-9ab3-dabb992d1178\",\n" 183 + " \"courseOfferingCode\":\"CHEM147\",\n" 184 + " \"courseOfferingDesc\":\"Principles of Chemistry Laboratory\",\n" 185 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 186 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 187 + " \"studentSelectablePassFail\":true,\n" 188 + " \"auditCourse\":false,\n" 189 + " \"honorsCourse\":false\n" 190 + " },\n" 191 + " {\n" 192 + " \"courseOfferingId\":\"2d847317-1c21-4c8c-990c-ab56f0897c75\",\n" 193 + " \"courseOfferingCode\":\"CHEM231\",\n" 194 + " \"courseOfferingDesc\":\"Organic Chemistry I\",\n" 195 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 196 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 197 + " \"studentSelectablePassFail\":true,\n" 198 + " \"auditCourse\":true,\n" 199 + " \"honorsCourse\":false\n" 200 + " },\n" 201 + " {\n" 202 + " \"courseOfferingId\":\"9c5f138c-951b-4d3a-8cd5-369a23f89caa\",\n" 203 + " \"courseOfferingCode\":\"CHEM232\",\n" 204 + " \"courseOfferingDesc\":\"Organic Chemistry Laboratory I\",\n" 205 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 206 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 207 + " \"studentSelectablePassFail\":false,\n" 208 + " \"auditCourse\":false,\n" 209 + " \"honorsCourse\":false\n" 210 + " },\n" 211 + " {\n" 212 + " \"courseOfferingId\":\"ebe93736-4f75-45fc-a313-e375575cdf4a\",\n" 213 + " \"courseOfferingCode\":\"CHEM241\",\n" 214 + " \"courseOfferingDesc\":\"Organic Chemistry II\",\n" 215 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 216 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 217 + " \"studentSelectablePassFail\":true,\n" 218 + " \"auditCourse\":true,\n" 219 + " \"honorsCourse\":false\n" 220 + " },\n" 221 + " {\n" 222 + " \"courseOfferingId\":\"9133914d-53a1-49d6-ab4d-cf83a3848262\",\n" 223 + " \"courseOfferingCode\":\"CHEM242\",\n" 224 + " \"courseOfferingDesc\":\"Organic Chemistry Laboratory II\",\n" 225 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 226 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 227 + " \"studentSelectablePassFail\":false,\n" 228 + " \"auditCourse\":false,\n" 229 + " \"honorsCourse\":false\n" 230 + " },\n" 231 + " {\n" 232 + " \"courseOfferingId\":\"759bba9a-0ccf-4ddd-bdb9-8abe46f2b784\",\n" 233 + " \"courseOfferingCode\":\"CHEM247\",\n" 234 + " \"courseOfferingDesc\":\"Principles of Organic Chemistry II\",\n" 235 + " \"courseOfferingCreditOptionDisplay\":\"4.0\",\n" 236 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 237 + " \"studentSelectablePassFail\":true,\n" 238 + " \"auditCourse\":true,\n" 239 + " \"honorsCourse\":false\n" 240 + " },\n" 241 + " {\n" 242 + " \"courseOfferingId\":\"d4208ae9-7a2a-4ad7-b570-7c060aa74d90\",\n" 243 + " \"courseOfferingCode\":\"CHEM271\",\n" 244 + " \"courseOfferingDesc\":\"General Chemistry and Energetics\",\n" 245 + " \"courseOfferingCreditOptionDisplay\":\"2.0\",\n" 246 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 247 + " \"studentSelectablePassFail\":true,\n" 248 + " \"auditCourse\":true,\n" 249 + " \"honorsCourse\":false\n" 250 + " },\n" 251 + " {\n" 252 + " \"courseOfferingId\":\"fdfd8711-e66e-4618-8321-f4bc74062792\",\n" 253 + " \"courseOfferingCode\":\"CHEM272\",\n" 254 + " \"courseOfferingDesc\":\"General Bioanalytical Chemistry Laboratory\",\n" 255 + " \"courseOfferingCreditOptionDisplay\":\"2.0\",\n" 256 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 257 + " \"studentSelectablePassFail\":true,\n" 258 + " \"auditCourse\":false,\n" 259 + " \"honorsCourse\":false\n" 260 + " },\n" 261 + " {\n" 262 + " \"courseOfferingId\":\"8e7fa3b9-9560-4f2e-88c5-59c29dc9f126\",\n" 263 + " \"courseOfferingCode\":\"CHEM277\",\n" 264 + " \"courseOfferingDesc\":\"Fundamentals of Analytical and Bioanalytical Chemistry Laboratory\",\n" 265 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 266 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 267 + " \"studentSelectablePassFail\":false,\n" 268 + " \"auditCourse\":false,\n" 269 + " \"honorsCourse\":false\n" 270 + " },\n" 271 + " {\n" 272 + " \"courseOfferingId\":\"3b84eca8-8664-4de1-8703-b1aebeddc1fb\",\n" 273 + " \"courseOfferingCode\":\"CHEM398\",\n" 274 + " \"courseOfferingDesc\":\"Special Projects\",\n" 275 + " \"courseOfferingCreditOptionDisplay\":\"2.0\",\n" 276 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 277 + " \"studentSelectablePassFail\":true,\n" 278 + " \"auditCourse\":true,\n" 279 + " \"honorsCourse\":false\n" 280 + " },\n" 281 + " {\n" 282 + " \"courseOfferingId\":\"075b54a0-133a-4e58-9b89-99cb1498e0f0\",\n" 283 + " \"courseOfferingCode\":\"CHEM399A\",\n" 284 + " \"courseOfferingDesc\":\"Introduction to Chemical Research\",\n" 285 + " \"courseOfferingCreditOptionDisplay\":\"1.0,1.5,2.0,2.5,3.0\",\n" 286 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 287 + " \"studentSelectablePassFail\":true,\n" 288 + " \"auditCourse\":true,\n" 289 + " \"honorsCourse\":false\n" 290 + " },\n" 291 + " {\n" 292 + " \"courseOfferingId\":\"9a3126b4-bcad-403a-87ba-ddc438141039\",\n" 293 + " \"courseOfferingCode\":\"CHEM399B\",\n" 294 + " \"courseOfferingDesc\":\"Introduction to Chemical Research\",\n" 295 + " \"courseOfferingCreditOptionDisplay\":\"1.0,1.5,2.0,2.5,3.0\",\n" 296 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 297 + " \"studentSelectablePassFail\":true,\n" 298 + " \"auditCourse\":true,\n" 299 + " \"honorsCourse\":false\n" 300 + " },\n" 301 + " {\n" 302 + " \"courseOfferingId\":\"26a79829-b42c-441b-b9cf-0d8f7a35629f\",\n" 303 + " \"courseOfferingCode\":\"CHEM399C\",\n" 304 + " \"courseOfferingDesc\":\"Introduction to Chemical Research\",\n" 305 + " \"courseOfferingCreditOptionDisplay\":\"1.0,1.5,2.0,2.5,3.0\",\n" 306 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 307 + " \"studentSelectablePassFail\":true,\n" 308 + " \"auditCourse\":true,\n" 309 + " \"honorsCourse\":false\n" 310 + " },\n" 311 + " {\n" 312 + " \"courseOfferingId\":\"84d4cc82-a24f-4775-8374-a5a4ebcab530\",\n" 313 + " \"courseOfferingCode\":\"CHEM399X\",\n" 314 + " \"courseOfferingDesc\":\"Introduction to Chemical Research; Chemistry Instruction\",\n" 315 + " \"courseOfferingCreditOptionDisplay\":\"1.0,1.5,2.0,2.5,3.0\",\n" 316 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 317 + " \"studentSelectablePassFail\":true,\n" 318 + " \"auditCourse\":true,\n" 319 + " \"honorsCourse\":false\n" 320 + " },\n" 321 + " {\n" 322 + " \"courseOfferingId\":\"0c5fcfef-11dd-4e89-b9ab-a28b4b2d7fb0\",\n" 323 + " \"courseOfferingCode\":\"CHEM403\",\n" 324 + " \"courseOfferingDesc\":\"Radiochemistry\",\n" 325 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 326 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 327 + " \"studentSelectablePassFail\":true,\n" 328 + " \"auditCourse\":true,\n" 329 + " \"honorsCourse\":false\n" 330 + " },\n" 331 + " {\n" 332 + " \"courseOfferingId\":\"195107f1-0afb-4af3-a78a-d287a57f8a3c\",\n" 333 + " \"courseOfferingCode\":\"CHEM425\",\n" 334 + " \"courseOfferingDesc\":\"Instrumental Methods of Analysis\",\n" 335 + " \"courseOfferingCreditOptionDisplay\":\"4.0\",\n" 336 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 337 + " \"studentSelectablePassFail\":true,\n" 338 + " \"auditCourse\":true,\n" 339 + " \"honorsCourse\":false\n" 340 + " },\n" 341 + " {\n" 342 + " \"courseOfferingId\":\"e67d87d6-8d89-401a-86ac-08ca8bd5195b\",\n" 343 + " \"courseOfferingCode\":\"CHEM441\",\n" 344 + " \"courseOfferingDesc\":\"Advanced Organic Chemistry\",\n" 345 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 346 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 347 + " \"studentSelectablePassFail\":true,\n" 348 + " \"auditCourse\":true,\n" 349 + " \"honorsCourse\":false\n" 350 + " },\n" 351 + " {\n" 352 + " \"courseOfferingId\":\"6f2cb68a-b09d-4b2b-8459-7fe17de11055\",\n" 353 + " \"courseOfferingCode\":\"CHEM460\",\n" 354 + " \"courseOfferingDesc\":\"Structure Determination Using Spectroscopic Methods\",\n" 355 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 356 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 357 + " \"studentSelectablePassFail\":true,\n" 358 + " \"auditCourse\":true,\n" 359 + " \"honorsCourse\":false\n" 360 + " },\n" 361 + " {\n" 362 + " \"courseOfferingId\":\"abf9196f-a0d2-4558-b47b-308bf0257c35\",\n" 363 + " \"courseOfferingCode\":\"CHEM474\",\n" 364 + " \"courseOfferingDesc\":\"Environmental Chemistry\",\n" 365 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 366 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 367 + " \"studentSelectablePassFail\":true,\n" 368 + " \"auditCourse\":true,\n" 369 + " \"honorsCourse\":false\n" 370 + " },\n" 371 + " {\n" 372 + " \"courseOfferingId\":\"87521128-54b5-4c97-a756-b1ecd7dcc5f5\",\n" 373 + " \"courseOfferingCode\":\"CHEM481\",\n" 374 + " \"courseOfferingDesc\":\"Physical Chemistry I\",\n" 375 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 376 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 377 + " \"studentSelectablePassFail\":true,\n" 378 + " \"auditCourse\":true,\n" 379 + " \"honorsCourse\":false\n" 380 + " },\n" 381 + " {\n" 382 + " \"courseOfferingId\":\"99f82ba5-ad01-4489-b446-99ea8f62d292\",\n" 383 + " \"courseOfferingCode\":\"CHEM482\",\n" 384 + " \"courseOfferingDesc\":\"Physical Chemistry II\",\n" 385 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 386 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 387 + " \"studentSelectablePassFail\":true,\n" 388 + " \"auditCourse\":true,\n" 389 + " \"honorsCourse\":false\n" 390 + " },\n" 391 + " {\n" 392 + " \"courseOfferingId\":\"7a84cb1d-51ad-44a5-a315-69451dea6154\",\n" 393 + " \"courseOfferingCode\":\"CHEM483\",\n" 394 + " \"courseOfferingDesc\":\"Physical Chemistry Laboratory I\",\n" 395 + " \"courseOfferingCreditOptionDisplay\":\"2.0\",\n" 396 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 397 + " \"studentSelectablePassFail\":true,\n" 398 + " \"auditCourse\":true,\n" 399 + " \"honorsCourse\":false\n" 400 + " },\n" 401 + " {\n" 402 + " \"courseOfferingId\":\"9118cf6c-a573-4443-9208-89079ff89d8b\",\n" 403 + " \"courseOfferingCode\":\"CHEM484\",\n" 404 + " \"courseOfferingDesc\":\"Physical Chemistry Laboratory II\",\n" 405 + " \"courseOfferingCreditOptionDisplay\":\"2.0\",\n" 406 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 407 + " \"studentSelectablePassFail\":true,\n" 408 + " \"auditCourse\":true,\n" 409 + " \"honorsCourse\":false\n" 410 + " },\n" 411 + " {\n" 412 + " \"courseOfferingId\":\"d5604c9f-664c-4dc1-94b1-695a821b7c8f\",\n" 413 + " \"courseOfferingCode\":\"CHEM491\",\n" 414 + " \"courseOfferingDesc\":\"Advanced Organic Chemistry Laboratory\",\n" 415 + " \"courseOfferingCreditOptionDisplay\":\"4.0\",\n" 416 + " \"courseOfferingGradingOptionDisplay\":\"Pass/Fail Grading\",\n" 417 + " \"studentSelectablePassFail\":true,\n" 418 + " \"auditCourse\":true,\n" 419 + " \"honorsCourse\":false\n" 420 + " },\n" 421 + " {\n" 422 + " \"courseOfferingId\":\"9218e1e8-8279-4ea2-9975-9decdf337eca\",\n" 423 + " \"courseOfferingCode\":\"CHEM601\",\n" 424 + " \"courseOfferingDesc\":\"Structure and Bonding of Molecules and Materials\",\n" 425 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 426 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 427 + " \"studentSelectablePassFail\":false,\n" 428 + " \"auditCourse\":true,\n" 429 + " \"honorsCourse\":false\n" 430 + " },\n" 431 + " {\n" 432 + " \"courseOfferingId\":\"eb942c03-0e7e-4bd7-a774-d26cb1c64f25\",\n" 433 + " \"courseOfferingCode\":\"CHEM608K\",\n" 434 + " \"courseOfferingDesc\":\"Selected Topics in Inorganic Chemistry; Chemistry Teaching and Learning in Higher Education\",\n" 435 + " \"courseOfferingCreditOptionDisplay\":\"1.0,1.5,2.0,2.5,3.0\",\n" 436 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 437 + " \"studentSelectablePassFail\":false,\n" 438 + " \"auditCourse\":true,\n" 439 + " \"honorsCourse\":false\n" 440 + " },\n" 441 + " {\n" 442 + " \"courseOfferingId\":\"19bb06aa-a076-4937-8fc4-acccf85b9828\",\n" 443 + " \"courseOfferingCode\":\"CHEM611\",\n" 444 + " \"courseOfferingDesc\":\"Professional Skills for New Graduate Students\",\n" 445 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 446 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 447 + " \"studentSelectablePassFail\":false,\n" 448 + " \"auditCourse\":true,\n" 449 + " \"honorsCourse\":false\n" 450 + " },\n" 451 + " {\n" 452 + " \"courseOfferingId\":\"9dd9724e-efd6-4d31-9624-b46450b57027\",\n" 453 + " \"courseOfferingCode\":\"CHEM625\",\n" 454 + " \"courseOfferingDesc\":\"Separation Methods in Quantitative Analysis\",\n" 455 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 456 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 457 + " \"studentSelectablePassFail\":false,\n" 458 + " \"auditCourse\":true,\n" 459 + " \"honorsCourse\":false\n" 460 + " },\n" 461 + " {\n" 462 + " \"courseOfferingId\":\"8938913c-cbd0-4405-97ad-f7e179114b83\",\n" 463 + " \"courseOfferingCode\":\"CHEM626\",\n" 464 + " \"courseOfferingDesc\":\"Metrology for Chemistry and Biochemistry\",\n" 465 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 466 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 467 + " \"studentSelectablePassFail\":false,\n" 468 + " \"auditCourse\":true,\n" 469 + " \"honorsCourse\":false\n" 470 + " },\n" 471 + " {\n" 472 + " \"courseOfferingId\":\"39c50ead-18ef-4909-89dc-3341cf8f6fd5\",\n" 473 + " \"courseOfferingCode\":\"CHEM640\",\n" 474 + " \"courseOfferingDesc\":\"Problems in Organic Reaction Mechanisms\",\n" 475 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 476 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 477 + " \"studentSelectablePassFail\":false,\n" 478 + " \"auditCourse\":true,\n" 479 + " \"honorsCourse\":false\n" 480 + " },\n" 481 + " {\n" 482 + " \"courseOfferingId\":\"bc7d6a5e-b77c-400b-a79b-1e02164b2de8\",\n" 483 + " \"courseOfferingCode\":\"CHEM641\",\n" 484 + " \"courseOfferingDesc\":\"Organic Reaction Mechanisms\",\n" 485 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 486 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 487 + " \"studentSelectablePassFail\":false,\n" 488 + " \"auditCourse\":true,\n" 489 + " \"honorsCourse\":false\n" 490 + " },\n" 491 + " {\n" 492 + " \"courseOfferingId\":\"22f75db7-d9ac-4da7-ba0c-6def7b544718\",\n" 493 + " \"courseOfferingCode\":\"CHEM682\",\n" 494 + " \"courseOfferingDesc\":\"Chemical Kinetics and Dynamics\",\n" 495 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 496 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 497 + " \"studentSelectablePassFail\":false,\n" 498 + " \"auditCourse\":true,\n" 499 + " \"honorsCourse\":false\n" 500 + " },\n" 501 + " {\n" 502 + " \"courseOfferingId\":\"4a6f4368-2a17-4bef-b62c-872fa66f8211\",\n" 503 + " \"courseOfferingCode\":\"CHEM684\",\n" 504 + " \"courseOfferingDesc\":\"Chemical Thermodynamics\",\n" 505 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 506 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 507 + " \"studentSelectablePassFail\":false,\n" 508 + " \"auditCourse\":true,\n" 509 + " \"honorsCourse\":false\n" 510 + " },\n" 511 + " {\n" 512 + " \"courseOfferingId\":\"8ba3008b-cf09-4df3-99fe-403f44be4eed\",\n" 513 + " \"courseOfferingCode\":\"CHEM689\",\n" 514 + " \"courseOfferingDesc\":\"Special Topics in Physical Chemistry\",\n" 515 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 516 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 517 + " \"studentSelectablePassFail\":false,\n" 518 + " \"auditCourse\":true,\n" 519 + " \"honorsCourse\":false\n" 520 + " },\n" 521 + " {\n" 522 + " \"courseOfferingId\":\"73e0e856-d344-4946-a759-65209dfd6e3b\",\n" 523 + " \"courseOfferingCode\":\"CHEM690\",\n" 524 + " \"courseOfferingDesc\":\"Quantum Chemistry I\",\n" 525 + " \"courseOfferingCreditOptionDisplay\":\"3.0\",\n" 526 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 527 + " \"studentSelectablePassFail\":false,\n" 528 + " \"auditCourse\":true,\n" 529 + " \"honorsCourse\":false\n" 530 + " },\n" 531 + " {\n" 532 + " \"courseOfferingId\":\"ce30b18d-5003-430c-9b8d-07d320785f4d\",\n" 533 + " \"courseOfferingCode\":\"CHEM699\",\n" 534 + " \"courseOfferingDesc\":\"Special Problems in Chemistry\",\n" 535 + " \"courseOfferingCreditOptionDisplay\":\"1 - 6\",\n" 536 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 537 + " \"studentSelectablePassFail\":false,\n" 538 + " \"auditCourse\":true,\n" 539 + " \"honorsCourse\":false\n" 540 + " },\n" 541 + " {\n" 542 + " \"courseOfferingId\":\"af7586c2-92aa-4da7-81d0-82e757efae99\",\n" 543 + " \"courseOfferingCode\":\"CHEM799\",\n" 544 + " \"courseOfferingDesc\":\"Master's Thesis Research\",\n" 545 + " \"courseOfferingCreditOptionDisplay\":\"1 - 6\",\n" 546 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 547 + " \"studentSelectablePassFail\":false,\n" 548 + " \"auditCourse\":false,\n" 549 + " \"honorsCourse\":false\n" 550 + " },\n" 551 + " {\n" 552 + " \"courseOfferingId\":\"47b27aeb-3506-4cef-9cab-ce82eb16b98a\",\n" 553 + " \"courseOfferingCode\":\"CHEM889A\",\n" 554 + " \"courseOfferingDesc\":\"Seminar; Analytical, Nuclear and Environmental Chemistry\",\n" 555 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 556 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 557 + " \"studentSelectablePassFail\":false,\n" 558 + " \"auditCourse\":true,\n" 559 + " \"honorsCourse\":false\n" 560 + " },\n" 561 + " {\n" 562 + " \"courseOfferingId\":\"81590cdf-e8bb-42b2-8192-9782ad9ca0e7\",\n" 563 + " \"courseOfferingCode\":\"CHEM889C\",\n" 564 + " \"courseOfferingDesc\":\"Seminar; Inorganic\",\n" 565 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 566 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 567 + " \"studentSelectablePassFail\":false,\n" 568 + " \"auditCourse\":true,\n" 569 + " \"honorsCourse\":false\n" 570 + " },\n" 571 + " {\n" 572 + " \"courseOfferingId\":\"2972d4f5-2670-4d69-8bc5-c3d0afb28a4a\",\n" 573 + " \"courseOfferingCode\":\"CHEM889D\",\n" 574 + " \"courseOfferingDesc\":\"Seminar; Organic\",\n" 575 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 576 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 577 + " \"studentSelectablePassFail\":false,\n" 578 + " \"auditCourse\":true,\n" 579 + " \"honorsCourse\":false\n" 580 + " },\n" 581 + " {\n" 582 + " \"courseOfferingId\":\"672d59b9-c2ae-4462-82f3-b0ebfc181c59\",\n" 583 + " \"courseOfferingCode\":\"CHEM889E\",\n" 584 + " \"courseOfferingDesc\":\"Seminar; Physical Chemistry\",\n" 585 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 586 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 587 + " \"studentSelectablePassFail\":false,\n" 588 + " \"auditCourse\":true,\n" 589 + " \"honorsCourse\":false\n" 590 + " },\n" 591 + " {\n" 592 + " \"courseOfferingId\":\"ee6838b4-40d8-419e-8838-a5286e269dc9\",\n" 593 + " \"courseOfferingCode\":\"CHEM889F\",\n" 594 + " \"courseOfferingDesc\":\"Seminar; Chemical Physics\",\n" 595 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 596 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 597 + " \"studentSelectablePassFail\":false,\n" 598 + " \"auditCourse\":true,\n" 599 + " \"honorsCourse\":false\n" 600 + " },\n" 601 + " {\n" 602 + " \"courseOfferingId\":\"fe0b4cbd-0796-4810-88ec-0dc22f570cc6\",\n" 603 + " \"courseOfferingCode\":\"CHEM889G\",\n" 604 + " \"courseOfferingDesc\":\"Seminar; Physical Organic\",\n" 605 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 606 + " \"courseOfferingGradingOptionDisplay\":\"Allow students to audit\",\n" 607 + " \"studentSelectablePassFail\":false,\n" 608 + " \"auditCourse\":true,\n" 609 + " \"honorsCourse\":false\n" 610 + " },\n" 611 + " {\n" 612 + " \"courseOfferingId\":\"ac1a7153-1ceb-483e-bf3c-417494ac4522\",\n" 613 + " \"courseOfferingCode\":\"CHEM889M\",\n" 614 + " \"courseOfferingDesc\":\"Seminar; Materials Chemistry\",\n" 615 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 616 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 617 + " \"studentSelectablePassFail\":false,\n" 618 + " \"auditCourse\":true,\n" 619 + " \"honorsCourse\":false\n" 620 + " },\n" 621 + " {\n" 622 + " \"courseOfferingId\":\"019e01b1-695a-4513-92b6-4303af879b61\",\n" 623 + " \"courseOfferingCode\":\"CHEM889P\",\n" 624 + " \"courseOfferingDesc\":\"Seminar; Structure and Reactivity of Biopolymers\",\n" 625 + " \"courseOfferingCreditOptionDisplay\":\"1.0\",\n" 626 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 627 + " \"studentSelectablePassFail\":false,\n" 628 + " \"auditCourse\":true,\n" 629 + " \"honorsCourse\":false\n" 630 + " },\n" 631 + " {\n" 632 + " \"courseOfferingId\":\"d0b9cf2f-879d-4bf4-8afd-05531b842219\",\n" 633 + " \"courseOfferingCode\":\"CHEM898\",\n" 634 + " \"courseOfferingDesc\":\"Pre-Candidacy Research\",\n" 635 + " \"courseOfferingCreditOptionDisplay\":\"1 - 8\",\n" 636 + " \"courseOfferingGradingOptionDisplay\":\"Administrative Grade of Satisfactory\",\n" 637 + " \"studentSelectablePassFail\":false,\n" 638 + " \"auditCourse\":false,\n" 639 + " \"honorsCourse\":false\n" 640 + " },\n" 641 + " {\n" 642 + " \"courseOfferingId\":\"a3c5e362-6343-4177-ae39-c2f55b32f56b\",\n" 643 + " \"courseOfferingCode\":\"CHEM899\",\n" 644 + " \"courseOfferingDesc\":\"Doctoral Dissertation Research\",\n" 645 + " \"courseOfferingCreditOptionDisplay\":\"1 - 8\",\n" 646 + " \"courseOfferingGradingOptionDisplay\":\"Letter\",\n" 647 + " \"studentSelectablePassFail\":false,\n" 648 + " \"auditCourse\":false,\n" 649 + " \"honorsCourse\":false\n" 650 + " }\n" 651 + "]"; 652 653 JsonReader jsonReader = Json.createReader(new StringReader(temp)); 654 JsonArray jsonArray = jsonReader.readArray(); 655 List<CourseSearchResult> collectionList = new ArrayList<CourseSearchResult>(); 656 657 populateCourseSearchResults(jsonArray, collectionList); 658 form.setPerfCollection(collectionList); // add collection to form. 659 660 return getModelAndView(form); 661 } 662 663 public void populateCourseSearchResults(JsonArray jsonArray, List<CourseSearchResult> collectionList)throws JsonException { 664 int j = jsonArray.size(); 665 int i; 666 for(i=0; i<j; i++) { 667 CourseSearchResult courseSearchResult = new CourseSearchResult(); 668 JsonObject jsonObject = (JsonObject)jsonArray.get(i); 669 courseSearchResult.setCourseOfferingId(jsonObject.getString("courseOfferingId")); 670 courseSearchResult.setCourseOfferingCode(jsonObject.getString("courseOfferingCode")); 671 courseSearchResult.setHonorsCourse(jsonObject.getBoolean("honorsCourse")); 672 courseSearchResult.setAuditCourse(jsonObject.getBoolean("auditCourse")); 673 courseSearchResult.setStudentSelectablePassFail(jsonObject.getBoolean("studentSelectablePassFail")); 674 courseSearchResult.setCourseOfferingDesc(jsonObject.getString("courseOfferingDesc")); 675 courseSearchResult.setCourseOfferingCreditOptionDisplay(jsonObject.getString( 676 "courseOfferingCreditOptionDisplay")); 677 courseSearchResult.setCourseOfferingGradingOptionDisplay(jsonObject.getString( 678 "courseOfferingGradingOptionDisplay")); 679 collectionList.add(courseSearchResult); 680 } 681 682 683 } 684 685 686 public String getHTML(String urlToRead) { 687 URL url; 688 HttpURLConnection conn; 689 BufferedReader rd; 690 String line; 691 String result = ""; 692 try { 693 url = new URL(urlToRead); 694 conn = (HttpURLConnection) url.openConnection(); 695 conn.setRequestMethod("GET"); 696 rd = new BufferedReader(new InputStreamReader(conn.getInputStream())); 697 while ((line = rd.readLine()) != null) { 698 result += line; 699 } 700 rd.close(); 701 } catch (IOException e) { 702 e.printStackTrace(); 703 } catch (Exception e) { 704 e.printStackTrace(); 705 } 706 return result; 707 } 708 709}