1 36 37 package com.bluecubs.xinco.server; 38 39 import java.sql.*; 40 import java.io.*; 41 import java.util.Vector ; 42 43 import javax.servlet.*; 44 import javax.servlet.http.*; 45 46 import com.bluecubs.xinco.core.*; 47 import com.bluecubs.xinco.core.server.*; 48 import com.bluecubs.xinco.index.XincoIndexer; 49 50 public class XincoAdminServlet extends HttpServlet { 51 52 54 public void init(ServletConfig config) throws ServletException { 55 super.init(config); 56 } 57 58 60 public void destroy() { 61 } 62 63 67 protected synchronized void processRequest(HttpServletRequest request, HttpServletResponse response) 68 throws ServletException, IOException { 69 70 XincoDBManager dbm; 71 String global_error_message = ""; 72 73 int i = 0, j = 0; 74 XincoCoreUserServer temp_user; 76 XincoCoreGroupServer temp_group; 77 XincoCoreLanguageServer temp_language; 78 XincoCoreDataTypeAttributeServer temp_attribute; 79 String current_location = ""; 80 String current_location_desc = ""; 81 int current_user_selection = 0; 82 int current_group_selection = 0; 83 int current_datatype_selection = 0; 84 int status = 0; 85 String error_message = ""; 86 87 HttpSession session = request.getSession(true); 88 89 response.setContentType("text/html"); 91 PrintWriter out = response.getWriter(); 92 93 try { 95 dbm = new XincoDBManager(); 96 } catch (Exception e) { 97 global_error_message = "" + e.toString() + " | NOTE: Check whether the web application's configuration file (e.g. context.xml/xinco.xml) has been deployed correctly!"; 98 out.println(global_error_message); 99 return; 100 } 101 102 104 if (session.getAttribute("XincoAdminServlet.status") == null) { 106 status = 0; 107 session.setAttribute("XincoAdminServlet.status", new Integer (status)); 108 current_location = "MainLogin"; 109 session.setAttribute("XincoAdminServlet.current_location", current_location); 110 current_location_desc = "Login Dialog"; 111 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 112 current_user_selection = 0; 113 session.setAttribute("XincoAdminServlet.current_user_selection", new Integer (current_user_selection)); 114 current_group_selection = 0; 115 session.setAttribute("XincoAdminServlet.current_group_selection", new Integer (current_group_selection)); 116 current_datatype_selection = 0; 117 session.setAttribute("XincoAdminServlet.current_datatype_selection", new Integer (current_datatype_selection)); 118 } else { 119 status = ((Integer )session.getAttribute("XincoAdminServlet.status")).intValue(); 120 current_location = ((String )session.getAttribute("XincoAdminServlet.current_location")); 121 current_location_desc = ((String )session.getAttribute("XincoAdminServlet.current_location_desc")); 122 current_user_selection = ((Integer )session.getAttribute("XincoAdminServlet.current_user_selection")).intValue(); 123 current_group_selection = ((Integer )session.getAttribute("XincoAdminServlet.current_group_selection")).intValue(); 124 current_datatype_selection = ((Integer )session.getAttribute("XincoAdminServlet.current_datatype_selection")).intValue(); 125 if (status == 0) { 126 current_location = "MainLogin"; 127 session.setAttribute("XincoAdminServlet.current_location", current_location); 128 current_location_desc = "Login Dialog"; 129 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 130 current_user_selection = 0; 131 session.setAttribute("XincoAdminServlet.current_user_selection", new Integer (current_user_selection)); 132 current_group_selection = 0; 133 session.setAttribute("XincoAdminServlet.current_group_selection", new Integer (current_group_selection)); 134 current_datatype_selection = 0; 135 session.setAttribute("XincoAdminServlet.current_datatype_selection", new Integer (current_datatype_selection)); 136 } 137 } 138 139 if (request.getParameter("DialogLoginSubmit") != null) { 141 try { 142 try { 143 temp_user = new XincoCoreUserServer(request.getParameter("DialogLoginUsername"), request.getParameter("DialogLoginPassword"), dbm); 144 } catch (Exception loginex) { 145 throw new XincoException("Login failed! Username and/or Password may be incorrect!"); 146 } 147 for (i=0;i<temp_user.getXinco_core_groups().size();i++) { 149 if (((XincoCoreGroup)temp_user.getXinco_core_groups().elementAt(i)).getId() == 1) { 150 break; 151 } 152 } 153 if (i == temp_user.getXinco_core_groups().size()) { 154 throw new XincoException("You are not a member of the Main Admin Group (ID = 1)!"); 155 } 156 current_user_selection = temp_user.getId(); 157 session.setAttribute("XincoAdminServlet.current_user_selection", new Integer (current_user_selection)); 158 status = 1; 159 session.setAttribute("XincoAdminServlet.status", new Integer (status)); 160 current_location = "MainMenu"; 161 session.setAttribute("XincoAdminServlet.current_location", current_location); 162 current_location_desc = "Main Menu"; 163 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 164 } catch (Exception e) { 165 error_message = "[" + global_error_message + " | " + e.toString() + "]"; 166 status = 0; 167 session.setAttribute("XincoAdminServlet.status", new Integer (status)); 168 } 169 } 170 if (request.getParameter("MenuMainOverview") != null) { 172 current_location = "MainMenu"; 173 session.setAttribute("XincoAdminServlet.current_location", current_location); 174 current_location_desc = "Main Menu"; 175 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 176 } 177 if (request.getParameter("MenuMainAdminUsers") != null) { 179 current_location = "UserAdmin"; 180 session.setAttribute("XincoAdminServlet.current_location", current_location); 181 current_location_desc = "User Administration"; 182 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 183 } 184 if (request.getParameter("MenuMainAdminGroups") != null) { 186 current_location = "GroupAdmin"; 187 session.setAttribute("XincoAdminServlet.current_location", current_location); 188 current_location_desc = "Group Administration"; 189 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 190 } 191 if (request.getParameter("MenuMainEditUserProfile") != null) { 193 current_location = "UserProfileEdit"; 194 session.setAttribute("XincoAdminServlet.current_location", current_location); 195 current_location_desc = "User Profile"; 196 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 197 } 198 if (request.getParameter("MenuMainAdminLanguages") != null) { 200 current_location = "LanguageAdmin"; 201 session.setAttribute("XincoAdminServlet.current_location", current_location); 202 current_location_desc = "Language Administration"; 203 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 204 } 205 if (request.getParameter("MenuMainAdminAttributes") != null) { 207 current_location = "AttributesAdmin"; 208 session.setAttribute("XincoAdminServlet.current_location", current_location); 209 current_location_desc = "Attributes Administration"; 210 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 211 } 212 if (request.getParameter("MenuMainEmptyTrash") != null) { 214 current_location = "MainMenu"; 215 session.setAttribute("XincoAdminServlet.current_location", current_location); 216 current_location_desc = "Main Menu"; 217 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 218 } 219 if (request.getParameter("MenuMainRebuildIndex") != null) { 221 current_location = "RebuildIndex"; 222 session.setAttribute("XincoAdminServlet.current_location", current_location); 223 current_location_desc = "Rebuild Index"; 224 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 225 } 226 if (request.getParameter("DialogAdminUsersLock") != null) { 228 if (!(Integer.parseInt(request.getParameter("DialogAdminUsersLock")) == 1)) { 230 try { 231 i = Integer.parseInt(request.getParameter("DialogAdminUsersLock")); 232 temp_user = new XincoCoreUserServer(i, dbm); 233 temp_user.setStatus_number(2); 234 temp_user.write2DB(dbm); 235 } catch (Exception e) { 236 } 237 } else { 238 error_message = "This User cannot be locked!"; 239 } 240 } 241 if (request.getParameter("DialogAdminUsersUnlock") != null) { 243 try { 244 i = Integer.parseInt(request.getParameter("DialogAdminUsersUnlock")); 245 temp_user = new XincoCoreUserServer(i, dbm); 246 temp_user.setStatus_number(1); 247 temp_user.write2DB(dbm); 248 } catch (Exception e) { 249 } 250 } 251 if (request.getParameter("DialogAdminUsersResetPW") != null) { 253 try { 254 i = Integer.parseInt(request.getParameter("DialogAdminUsersResetPW")); 255 temp_user = new XincoCoreUserServer(i, dbm); 256 temp_user.setUserpassword("123456"); 257 temp_user.write2DB(dbm); 258 } catch (Exception e) { 259 } 260 } 261 if (request.getParameter("DialogNewUserSubmit") != null) { 263 try { 264 temp_user = new XincoCoreUserServer(0, request.getParameter("DialogNewUserUsername"), request.getParameter("DialogNewUserPassword"), request.getParameter("DialogNewUserLastname"), request.getParameter("DialogNewUserFirstname"), request.getParameter("DialogNewUserEmail"), 1, dbm); 265 temp_group = new XincoCoreGroupServer(2, dbm); 266 temp_user.getXinco_core_groups().addElement(temp_group); 267 temp_user.write2DB(dbm); 268 } catch (Exception e) { 269 } 270 } 271 if (request.getParameter("DialogNewGroupSubmit") != null) { 273 try { 274 temp_group = new XincoCoreGroupServer(0, request.getParameter("DialogNewGroupName"), 1); 275 temp_group.write2DB(dbm); 276 } catch (Exception e) { 277 } 278 } 279 if (request.getParameter("DialogAdminGroupsSelect") != null) { 281 current_group_selection = Integer.parseInt(request.getParameter("DialogAdminGroupsSelect")); 282 session.setAttribute("XincoAdminServlet.current_group_selection", new Integer (current_group_selection)); 283 current_location = "GroupAdminSingle"; 284 session.setAttribute("XincoAdminServlet.current_location", current_location); 285 current_location_desc = "Specific Group Administration"; 286 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 287 } 288 if (request.getParameter("DialogEditGroupSubmit") != null) { 290 try { 291 temp_group = new XincoCoreGroupServer(current_group_selection, dbm); 292 temp_group.setDesignation(request.getParameter("DialogEditGroupName")); 293 temp_group.write2DB(dbm); 294 } catch (Exception e) { 295 } 296 } 297 if (request.getParameter("DialogEditGroupRemoveUser") != null) { 299 if (!(((current_group_selection == 1) && (Integer.parseInt(request.getParameter("DialogEditGroupRemoveUser")) == 1)) || (current_group_selection == 2))) { 301 try { 302 Statement stmt = dbm.con.createStatement(); 303 stmt.executeUpdate("DELETE FROM xinco_core_user_has_xinco_core_group WHERE xinco_core_user_id=" + Integer.parseInt(request.getParameter("DialogEditGroupRemoveUser"))); 304 stmt.close(); 305 dbm.con.commit(); 306 } catch (Exception e) { 307 try { 308 dbm.con.rollback(); 309 } catch (Exception rbe) { 310 } 311 } 312 } else { 313 error_message = "You cannot remove this User from the Group! e.g. ALL Users belong to Main User Group (ID = 2)"; 314 } 315 } 316 if (request.getParameter("DialogEditGroupAddUser") != null) { 318 try { 319 Statement stmt = dbm.con.createStatement(); 320 stmt.executeUpdate("INSERT INTO xinco_core_user_has_xinco_core_group VALUES (" + Integer.parseInt(request.getParameter("DialogEditGroupAddUser")) + ", " + current_group_selection + ", " + "1)"); 321 stmt.close(); 322 dbm.con.commit(); 323 } catch (Exception e) { 324 try { 325 dbm.con.rollback(); 326 } catch (Exception rbe) { 327 } 328 } 329 } 330 if (request.getParameter("DialogEditUserProfileSubmit") != null) { 332 try { 333 temp_user = new XincoCoreUserServer(Integer.parseInt(request.getParameter("DialogEditUserProfileID")), dbm); 334 temp_user.setUsername(request.getParameter("DialogEditUserProfileUsername")); 335 temp_user.setUserpassword(request.getParameter("DialogEditUserProfilePassword")); 336 temp_user.setName(request.getParameter("DialogEditUserProfileLastname")); 337 temp_user.setFirstname(request.getParameter("DialogEditUserProfileFirstname")); 338 temp_user.setEmail(request.getParameter("DialogEditUserProfileEmail")); 339 temp_user.write2DB(dbm); 340 } catch (Exception e) { 341 } 342 } 343 if (request.getParameter("DialogNewLanguageSubmit") != null) { 345 try { 346 temp_language = new XincoCoreLanguageServer(0, request.getParameter("DialogNewLanguageSign"), request.getParameter("DialogNewLanguageDesignation")); 347 temp_language.write2DB(dbm); 348 } catch (Exception e) { 349 } 350 } 351 if (request.getParameter("DialogAdminLanguagesDelete") != null) { 353 try { 354 temp_language = new XincoCoreLanguageServer(Integer.parseInt(request.getParameter("DialogAdminLanguagesDelete")), dbm); 355 XincoCoreLanguageServer.deleteFromDB(temp_language, dbm); 356 } catch (Exception e) { 357 } 358 } 359 if (request.getParameter("DialogAdminDataTypeSelect") != null) { 361 current_datatype_selection = Integer.parseInt(request.getParameter("DialogAdminDataTypeSelect")); 362 session.setAttribute("XincoAdminServlet.current_datatype_selection", new Integer (current_datatype_selection)); 363 current_location = "AttributesAdminSingle"; 364 session.setAttribute("XincoAdminServlet.current_location", current_location); 365 current_location_desc = "Specific Attributes Administration"; 366 session.setAttribute("XincoAdminServlet.current_location_desc", current_location_desc); 367 } 368 if (request.getParameter("DialogNewAttributeSubmit") != null) { 370 try { 371 temp_attribute = new XincoCoreDataTypeAttributeServer(current_datatype_selection, Integer.parseInt(request.getParameter("DialogNewAttributeAttributeId")), request.getParameter("DialogNewAttributeDesignation"), request.getParameter("DialogNewAttributeDataType"), Integer.parseInt(request.getParameter("DialogNewAttributeSize"))); 372 temp_attribute.write2DB(dbm); 373 } catch (Exception e) { 374 } 375 } 376 if (request.getParameter("DialogEditAttributesRemoveAttributeId") != null) { 378 try { 379 temp_attribute = new XincoCoreDataTypeAttributeServer(current_datatype_selection, Integer.parseInt(request.getParameter("DialogEditAttributesRemoveAttributeId")), dbm); 380 XincoCoreDataTypeAttributeServer.deleteFromDB(temp_attribute, dbm); 381 } catch (Exception e) { 382 } 383 } 384 if (request.getParameter("MenuMainEmptyTrash") != null) { 386 try { 387 (new XincoCoreNodeServer(2, dbm)).deleteFromDB(false, dbm); 388 } catch (Exception e) { 389 } 390 } 391 if (request.getParameter("MenuMainLogout") != null) { 393 try { 394 session.removeAttribute("XincoAdminServlet.user"); 395 status = 0; 396 session.setAttribute("XincoAdminServlet.status", new Integer (status)); 397 } catch (Exception e) { 398 status = 0; 399 session.setAttribute("XincoAdminServlet.status", new Integer (status)); 400 } 401 } 402 403 out.println("<html>"); 405 out.println("<head>"); 406 out.println("<title>XincoAdmin</title>"); 407 out.println("<link rel=\"stylesheet\" HREF=\"xincostyle.css\" type=\"text/css\"/>"); 408 out.println("</head>"); 409 out.println("<body>"); 410 out.println("<center>"); 411 out.println("<span class=\"text\">"); 412 413 out.println(""); 414 415 if (status == 0) { 417 418 out.println("<br><img SRC=\"blueCubs.gif\" border=\"0\"/>"); 420 out.println("<br><span class=\"bigtext\">XincoAdmin</span><br><br>"); 421 422 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 424 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 425 out.println("<tr>"); 426 out.println("<td class=\"text\">User:</td>"); 427 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogLoginUsername\" size=\"40\"/></td>"); 428 out.println("</tr>"); 429 out.println("<tr>"); 430 out.println("<td class=\"text\">Password:</td>"); 431 out.println("<td class=\"text\"><input type=\"password\" name=\"DialogLoginPassword\" size=\"40\"/></td>"); 432 out.println("</tr>"); 433 if (error_message.compareTo("") != 0) { 434 out.println("<tr>"); 435 out.println("<td class=\"text\"> </td>"); 436 out.println("<td class=\"text\">" + error_message + "</td>"); 437 out.println("</tr>"); 438 } 439 out.println("<tr>"); 440 out.println("<td class=\"text\"> </td>"); 441 out.println("<td class=\"text\"><input type=\"submit\" name=\"DialogLoginSubmit\" value=\"Login\"/></td>"); 442 out.println("</tr>"); 443 out.println("</table>"); 444 out.println("</form>"); 445 446 } else { 447 448 out.println("<br>"); 450 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 451 out.println("<tr>"); 452 out.println("<td class=\"text\" rowspan=\"3\"><img SRC=\"blueCubsSmall.gif\" border=\"0\"/></td>"); 453 out.println("<td class=\"bigtext\" colspan=\"5\">XincoAdmin</td>"); 454 out.println("</tr>"); 455 out.println("<tr>"); 456 out.println("<td class=\"text\" colspan=\"5\">Location: " + current_location_desc + "</td>"); 457 out.println("</tr>"); 458 out.println("<tr>"); 459 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainOverview=Overview\" class=\"link\">Overview</a></td>"); 460 out.println("<td class=\"text\">|</td>"); 461 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainAdminUsers=AdminUsers\" class=\"link\">Edit Users</a></td>"); 462 out.println("<td class=\"text\">|</td>"); 463 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainAdminGroups=AdminGroups\" class=\"link\">Edit Groups</a></td>"); 464 out.println("<td class=\"text\">|</td>"); 465 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainEditUserProfile=EditProfile\" class=\"link\">Edit Profile</a></td>"); 466 out.println("<td class=\"text\">|</td>"); 467 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainAdminLanguages=AdminLanguages\" class=\"link\">Edit Languages</a></td>"); 468 out.println("<td class=\"text\">|</td>"); 469 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainAdminAttributes=AdminAttributes\" class=\"link\">Edit Attributes</a></td>"); 470 out.println("<td class=\"text\">|</td>"); 471 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainEmptyTrash=EmptyTrash\" class=\"link\">Empty Trash</a></td>"); 472 out.println("<td class=\"text\">|</td>"); 473 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainRebuildIndex=RebuildIndex\" class=\"link\">Rebuild Index</a></td>"); 474 out.println("<td class=\"text\">|</td>"); 475 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?MenuMainLogout=Logout\" class=\"link\">Logout</a></td>"); 476 out.println("</tr>"); 477 out.println("</table>"); 478 out.println("<br><br>"); 479 480 if (current_location.compareTo("MainMenu") == 0) { 481 482 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 484 out.println("<tr>"); 485 out.println("<td class=\"bigtext\">Overview</td>"); 486 out.println("<td class=\"text\">While the xinco Document Management System is usually accessed via XincoExplorer, this tool is meant for administrating users' and groups' access rights to the system.</td>"); 487 out.println("</tr>"); 488 out.println("<tr>"); 489 out.println("<td class=\"bigtext\">User Administration</td>"); 490 out.println("<td class=\"text\">View a list of all users, lock/unlock them and add new users to the system.</td>"); 491 out.println("</tr>"); 492 out.println("<tr>"); 493 out.println("<td class=\"bigtext\">Group Administration</td>"); 494 out.println("<td class=\"text\">View a list of all groups and assign/remove users to/from these groups.</td>"); 495 out.println("</tr>"); 496 out.println("<tr>"); 497 out.println("<td class=\"bigtext\">User Profile</td>"); 498 out.println("<td class=\"text\">Keep your User Profile up-to-date and change your password periodically to prevent abuse.</td>"); 499 out.println("</tr>"); 500 out.println("<tr>"); 501 out.println("<td class=\"bigtext\">Edit Languages</td>"); 502 out.println("<td class=\"text\">Add new languages or delete unused ones.</td>"); 503 out.println("</tr>"); 504 out.println("<tr>"); 505 out.println("<td class=\"bigtext\">Edit Attributes</td>"); 506 out.println("<td class=\"text\">Add new attributes to data types or remove existing ones.</td>"); 507 out.println("</tr>"); 508 out.println("<tr>"); 509 out.println("<td class=\"bigtext\">Empty Trash</td>"); 510 out.println("<td class=\"text\">Permanently deletes all data and subfolders in folder Trash (ID=2).</td>"); 511 out.println("</tr>"); 512 out.println("<tr>"); 513 out.println("<td class=\"bigtext\">Rebuild Index</td>"); 514 out.println("<td class=\"text\">You must rebuild the index after upgrading xinco DMS, after executing one of the database translation scripts or after editing data type attributes!<br>Periodically rebuilding the index will increase performance and stability.<br>(NOT recommended while users can access the xinco DMS server!)</td>"); 515 out.println("</tr>"); 516 out.println("</table>"); 517 518 } 519 520 if (current_location.compareTo("UserAdmin") == 0) { 521 522 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 524 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 525 out.println("<tr>"); 526 out.println("<td class=\"text\">Username:</td>"); 527 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewUserUsername\" size=\"40\"/></td>"); 528 out.println("</tr>"); 529 out.println("<tr>"); 530 out.println("<td class=\"text\">Password:</td>"); 531 out.println("<td class=\"text\"><input type=\"password\" name=\"DialogNewUserPassword\" size=\"40\"/></td>"); 532 out.println("</tr>"); 533 out.println("<tr>"); 534 out.println("<td class=\"text\">Firstname:</td>"); 535 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewUserFirstname\" size=\"40\"/></td>"); 536 out.println("</tr>"); 537 out.println("<tr>"); 538 out.println("<td class=\"text\">Lastname:</td>"); 539 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewUserLastname\" size=\"40\"/></td>"); 540 out.println("</tr>"); 541 out.println("<tr>"); 542 out.println("<td class=\"text\">Email:</td>"); 543 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewUserEmail\" size=\"40\"/></td>"); 544 out.println("</tr>"); 545 out.println("<tr>"); 546 out.println("<td class=\"text\"> </td>"); 547 out.println("<td class=\"text\"><input type=\"submit\" name=\"DialogNewUserSubmit\" value=\"Add User\"/></td>"); 548 out.println("</tr>"); 549 out.println("</table>"); 550 out.println("</form>"); 551 552 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 554 if (error_message.compareTo("") != 0) { 555 out.println("<tr>"); 556 out.println("<td class=\"text\" colspan=\"6\">" + error_message + "</td>"); 557 out.println("</tr>"); 558 } 559 out.println("<tr>"); 560 out.println("<td class=\"bigtext\">ID:</td>"); 561 out.println("<td class=\"bigtext\">Username:</td>"); 562 out.println("<td class=\"bigtext\">Firstname:</td>"); 563 out.println("<td class=\"bigtext\">Lastname:</td>"); 564 out.println("<td class=\"bigtext\">EMail:</td>"); 565 out.println("<td class=\"bigtext\"> </td>"); 566 out.println("</tr>"); 567 568 Vector allusers = XincoCoreUserServer.getXincoCoreUsers(dbm); 569 for (i=0;i<allusers.size();i++) { 570 out.println("<tr>"); 571 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "</td>"); 572 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getUsername() + "</td>"); 573 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getFirstname() + "</td>"); 574 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getName() + "</td>"); 575 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getEmail() + "</td>"); 576 if (((XincoCoreUserServer)allusers.elementAt(i)).getStatus_number() == 1) { 577 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogAdminUsersLock=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Lock]</a> <a HREF=\"XincoAdmin?DialogAdminUsersResetPW=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Reset Password*]</a></td>"); 578 } 579 if (((XincoCoreUserServer)allusers.elementAt(i)).getStatus_number() == 2) { 580 out.println("<td class=\"text\"><b>Locked!</b> <a HREF=\"XincoAdmin?DialogAdminUsersUnlock=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Unlock]</a> <a HREF=\"XincoAdmin?DialogAdminUsersResetPW=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Reset Password*]</a></td>"); 581 } 582 out.println("</tr>"); 583 } 584 585 out.println("<tr>"); 586 out.println("<td colspan=\"6\" class=\"text\"> </td>"); 587 out.println("</tr>"); 588 out.println("<tr>"); 589 out.println("<td colspan=\"6\" class=\"text\">* The user's password will be reset to \"123456\"!</td>"); 590 out.println("</tr>"); 591 out.println("</table>"); 592 593 } 594 595 if (current_location.compareTo("GroupAdmin") == 0) { 596 597 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 599 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 600 out.println("<tr>"); 601 out.println("<td class=\"text\">Name:</td>"); 602 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewGroupName\" size=\"40\"/></td>"); 603 out.println("</tr>"); 604 out.println("<tr>"); 605 out.println("<td class=\"text\"> </td>"); 606 out.println("<td class=\"text\"><input type=\"submit\" name=\"DialogNewGroupSubmit\" value=\"Add Group\"/></td>"); 607 out.println("</tr>"); 608 out.println("</table>"); 609 out.println("</form>"); 610 611 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 613 out.println("<tr>"); 614 out.println("<td class=\"bigtext\">ID:</td>"); 615 out.println("<td class=\"bigtext\">Name:</td>"); 616 out.println("<td class=\"bigtext\"> </td>"); 617 out.println("</tr>"); 618 619 Vector allgroups = XincoCoreGroupServer.getXincoCoreGroups(dbm); 620 for (i=0;i<allgroups.size();i++) { 621 out.println("<tr>"); 622 out.println("<td class=\"text\">" + ((XincoCoreGroupServer)allgroups.elementAt(i)).getId() + "</td>"); 623 out.println("<td class=\"text\">" + ((XincoCoreGroupServer)allgroups.elementAt(i)).getDesignation() + "</td>"); 624 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogAdminGroupsSelect=" + ((XincoCoreGroupServer)allgroups.elementAt(i)).getId() + "\" class=\"link\">[Edit]</a></td>"); 625 out.println("</tr>"); 626 } 627 628 out.println("</table>"); 629 630 } 631 632 if (current_location.compareTo("GroupAdminSingle") == 0) { 633 634 try { 636 temp_group = new XincoCoreGroupServer(current_group_selection, dbm); 637 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 638 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 639 out.println("<tr>"); 640 out.println("<td class=\"text\">Name:</td>"); 641 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogEditGroupName\" size=\"40\" value=\"" + temp_group.getDesignation() + "\"/></td>"); 642 out.println("</tr>"); 643 out.println("<tr>"); 644 out.println("<td class=\"text\"> </td>"); 645 out.println("<td class=\"text\"><input type=\"hidden\" name=\"DialogEditGroupID\" value=\"" + current_group_selection + "\"/><input type=\"submit\" name=\"DialogEditGroupSubmit\" value=\"Save!\"/></td>"); 646 out.println("</tr>"); 647 out.println("</table>"); 648 out.println("</form>"); 649 } catch (Exception e) { 650 } 651 652 Vector allusers = XincoCoreUserServer.getXincoCoreUsers(dbm); 654 boolean member_of_group = false; 655 656 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 657 658 if (error_message.compareTo("") != 0) { 659 out.println("<tr>"); 660 out.println("<td class=\"text\" colspan=\"6\">" + error_message + "</td>"); 661 out.println("</tr>"); 662 } 663 out.println("<tr>"); 664 out.println("<td class=\"bigtext\" colspan=\"6\">Members of this Group:</td>"); 665 out.println("</tr>"); 666 out.println("<tr>"); 667 out.println("<td class=\"bigtext\">ID:</td>"); 668 out.println("<td class=\"bigtext\">Username:</td>"); 669 out.println("<td class=\"bigtext\">Firstname:</td>"); 670 out.println("<td class=\"bigtext\">Lastname:</td>"); 671 out.println("<td class=\"bigtext\">EMail:</td>"); 672 out.println("<td class=\"bigtext\"> </td>"); 673 out.println("</tr>"); 674 for (i=0;i<allusers.size();i++) { 675 member_of_group = false; 676 for (j=0;j<((XincoCoreUserServer)allusers.elementAt(i)).getXinco_core_groups().size();j++) { 677 if (((XincoCoreGroupServer)((XincoCoreUserServer)allusers.elementAt(i)).getXinco_core_groups().elementAt(j)).getId() == current_group_selection) { 678 member_of_group = true; 679 break; 680 } 681 } 682 if (member_of_group) { 683 out.println("<tr>"); 684 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "</td>"); 685 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getUsername() + "</td>"); 686 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getFirstname() + "</td>"); 687 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getName() + "</td>"); 688 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getEmail() + "</td>"); 689 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogEditGroupRemoveUser=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Remove from Group]</a></td>"); 690 out.println("</tr>"); 691 } 692 } 693 694 out.println("<tr>"); 695 out.println("<td class=\"bigtext\" colspan=\"6\"> </td>"); 696 out.println("</tr>"); 697 out.println("<tr>"); 698 out.println("<td class=\"bigtext\" colspan=\"6\">Users who are NOT member of this Group:</td>"); 699 out.println("</tr>"); 700 out.println("<tr>"); 701 out.println("<td class=\"bigtext\">ID:</td>"); 702 out.println("<td class=\"bigtext\">Username:</td>"); 703 out.println("<td class=\"bigtext\">Firstname:</td>"); 704 out.println("<td class=\"bigtext\">Lastname:</td>"); 705 out.println("<td class=\"bigtext\">EMail:</td>"); 706 out.println("<td class=\"bigtext\"> </td>"); 707 out.println("</tr>"); 708 for (i=0;i<allusers.size();i++) { 709 member_of_group = false; 710 for (j=0;j<((XincoCoreUserServer)allusers.elementAt(i)).getXinco_core_groups().size();j++) { 711 if (((XincoCoreGroupServer)((XincoCoreUserServer)allusers.elementAt(i)).getXinco_core_groups().elementAt(j)).getId() == current_group_selection) { 712 member_of_group = true; 713 break; 714 } 715 } 716 if (!member_of_group) { 717 out.println("<tr>"); 718 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "</td>"); 719 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getUsername() + "</td>"); 720 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getFirstname() + "</td>"); 721 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getName() + "</td>"); 722 out.println("<td class=\"text\">" + ((XincoCoreUserServer)allusers.elementAt(i)).getEmail() + "</td>"); 723 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogEditGroupAddUser=" + ((XincoCoreUserServer)allusers.elementAt(i)).getId() + "\" class=\"link\">[Add to Group]</a></td>"); 724 out.println("</tr>"); 725 } 726 } 727 728 out.println("</table>"); 729 730 } 731 732 if (current_location.compareTo("UserProfileEdit") == 0) { 733 734 try { 736 temp_user = new XincoCoreUserServer(current_user_selection, dbm); 737 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 738 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 739 out.println("<tr>"); 740 out.println("<td class=\"text\">Username:</td>"); 741 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogEditUserProfileUsername\" value=\"" + temp_user.getUsername() + "\" size=\"40\"/></td>"); 742 out.println("</tr>"); 743 out.println("<tr>"); 744 out.println("<td class=\"text\">Password:</td>"); 745 out.println("<td class=\"text\"><input type=\"password\" name=\"DialogEditUserProfilePassword\" value=\"\" size=\"40\"/></td>"); 747 out.println("</tr>"); 748 out.println("<tr>"); 749 out.println("<td class=\"text\">Firstname:</td>"); 750 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogEditUserProfileFirstname\" value=\"" + temp_user.getFirstname() + "\" size=\"40\"/></td>"); 751 out.println("</tr>"); 752 out.println("<tr>"); 753 out.println("<td class=\"text\">Lastname:</td>"); 754 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogEditUserProfileLastname\" value=\"" + temp_user.getName() + "\" size=\"40\"/></td>"); 755 out.println("</tr>"); 756 out.println("<tr>"); 757 out.println("<td class=\"text\">Email:</td>"); 758 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogEditUserProfileEmail\" value=\"" + temp_user.getEmail() + "\" size=\"40\"/></td>"); 759 out.println("</tr>"); 760 out.println("<tr>"); 761 out.println("<td class=\"text\"> </td>"); 762 out.println("<td class=\"text\"><input type=\"hidden\" name=\"DialogEditUserProfileID\" value=\"" + current_user_selection + "\"/><input type=\"submit\" name=\"DialogEditUserProfileSubmit\" value=\"Save!\"/></td>"); 763 out.println("</tr>"); 764 out.println("</table>"); 765 out.println("</form>"); 766 } catch (Exception e) { 767 } 768 769 } 770 771 if (current_location.compareTo("LanguageAdmin") == 0) { 772 773 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 775 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 776 out.println("<tr>"); 777 out.println("<td class=\"text\">Designation:</td>"); 778 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewLanguageDesignation\" size=\"40\"/></td>"); 779 out.println("</tr>"); 780 out.println("<tr>"); 781 out.println("<td class=\"text\">Sign (ISO 639):</td>"); 782 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewLanguageSign\" size=\"5\"/></td>"); 783 out.println("</tr>"); 784 out.println("<tr>"); 785 out.println("<td class=\"text\"> </td>"); 786 out.println("<td class=\"text\"><input type=\"submit\" name=\"DialogNewLanguageSubmit\" value=\"Add Language\"/></td>"); 787 out.println("</tr>"); 788 out.println("</table>"); 789 out.println("</form>"); 790 791 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 793 if (error_message.compareTo("") != 0) { 794 out.println("<tr>"); 795 out.println("<td class=\"text\" colspan=\"4\">" + error_message + "</td>"); 796 out.println("</tr>"); 797 } 798 out.println("<tr>"); 799 out.println("<td class=\"bigtext\">ID:</td>"); 800 out.println("<td class=\"bigtext\">Sign (ISO 639):</td>"); 801 out.println("<td class=\"bigtext\">Designation:</td>"); 802 out.println("<td class=\"bigtext\"> </td>"); 803 out.println("</tr>"); 804 805 Vector alllanguages = XincoCoreLanguageServer.getXincoCoreLanguages(dbm); 806 boolean is_used = true; 807 for (i=0;i<alllanguages.size();i++) { 808 out.println("<tr>"); 809 out.println("<td class=\"text\">" + ((XincoCoreLanguageServer)alllanguages.elementAt(i)).getId() + "</td>"); 810 out.println("<td class=\"text\">" + ((XincoCoreLanguageServer)alllanguages.elementAt(i)).getSign() + "</td>"); 811 out.println("<td class=\"text\">" + ((XincoCoreLanguageServer)alllanguages.elementAt(i)).getDesignation() + "</td>"); 812 is_used = XincoCoreLanguageServer.isLanguageUsed((XincoCoreLanguageServer)alllanguages.elementAt(i), dbm); 813 if (!is_used) { 814 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogAdminLanguagesDelete=" + ((XincoCoreLanguageServer)alllanguages.elementAt(i)).getId() + "\" class=\"link\">[Delete]</a></td>"); 815 } else { 816 out.println("<td class=\"text\"> </td>"); 817 } 818 out.println("</tr>"); 819 } 820 821 out.println("<tr>"); 822 out.println("<td colspan=\"4\" class=\"text\"> </td>"); 823 out.println("</tr>"); 824 out.println("<tr>"); 825 out.println("<td colspan=\"4\" class=\"text\">Languages can only be deleted if they are not referenced by other objects (e.g. folders, data)!</td>"); 826 out.println("</tr>"); 827 out.println("</table>"); 828 829 } 830 831 if (current_location.compareTo("AttributesAdmin") == 0) { 832 833 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 835 out.println("<tr>"); 836 out.println("<td class=\"bigtext\">ID:</td>"); 837 out.println("<td class=\"bigtext\">Designation:</td>"); 838 out.println("<td class=\"bigtext\">Description:</td>"); 839 out.println("<td class=\"bigtext\"> </td>"); 840 out.println("</tr>"); 841 842 Vector alldatatypes = XincoCoreDataTypeServer.getXincoCoreDataTypes(dbm); 843 for (i=0;i<alldatatypes.size();i++) { 844 out.println("<tr>"); 845 out.println("<td class=\"text\">" + ((XincoCoreDataTypeServer)alldatatypes.elementAt(i)).getId() + "</td>"); 846 out.println("<td class=\"text\">" + ((XincoCoreDataTypeServer)alldatatypes.elementAt(i)).getDesignation() + "</td>"); 847 out.println("<td class=\"text\">" + ((XincoCoreDataTypeServer)alldatatypes.elementAt(i)).getDescription() + "</td>"); 848 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogAdminDataTypeSelect=" + ((XincoCoreDataTypeServer)alldatatypes.elementAt(i)).getId() + "\" class=\"link\">[Edit]</a></td>"); 849 out.println("</tr>"); 850 } 851 852 out.println("</table>"); 853 854 } 855 856 if (current_location.compareTo("AttributesAdminSingle") == 0) { 857 858 try { 860 out.println("<form action=\"XincoAdmin\" method=\"post\">"); 861 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 862 out.println("<tr>"); 863 out.println("<td class=\"text\">Position:</td>"); 864 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewAttributeAttributeId\" size=\"5\" value=\"1\"/></td>"); 865 out.println("</tr>"); 866 out.println("<tr>"); 867 out.println("<td class=\"text\">Designation:</td>"); 868 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewAttributeDesignation\" size=\"40\" value=\"\"/></td>"); 869 out.println("</tr>"); 870 out.println("<tr>"); 871 out.println("<td class=\"text\">Data Type:</td>"); 872 out.println("<td class=\"text\"><select name=\"DialogNewAttributeDataType\" size=\"1\"><option value=\"int\">int (Integer)</option><option value=\"unsignedint\">unsignedint (Unsigned Integer)</option><option value=\"double\">double (Floating Point Number)</option><option value=\"varchar\">varchar (String)</option><option value=\"text\">text (Text)</option><option value=\"datetime\">datetime (Date + Time)</option></select></td>"); 873 out.println("</tr>"); 874 out.println("<tr>"); 875 out.println("<td class=\"text\">Size:</td>"); 876 out.println("<td class=\"text\"><input type=\"text\" name=\"DialogNewAttributeSize\" size=\"5\" value=\"0\"/> (required for String/varchar)</td>"); 877 out.println("</tr>"); 878 out.println("<tr>"); 879 out.println("<td class=\"text\"> </td>"); 880 out.println("<td class=\"text\"><input type=\"hidden\" name=\"DialogNewAttributeDataTypeID\" value=\"" + current_datatype_selection + "\"/><input type=\"submit\" name=\"DialogNewAttributeSubmit\" value=\"Add Attribute\"/></td>"); 881 out.println("</tr>"); 882 out.println("</table>"); 883 out.println("</form>"); 884 } catch (Exception e) { 885 } 886 887 try { 889 XincoCoreDataTypeServer temp_datatype = new XincoCoreDataTypeServer(current_datatype_selection, dbm); 890 891 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 892 893 if (error_message.compareTo("") != 0) { 894 out.println("<tr>"); 895 out.println("<td class=\"text\" colspan=\"5\">" + error_message + "</td>"); 896 out.println("</tr>"); 897 } 898 out.println("<tr>"); 899 out.println("<td class=\"bigtext\" colspan=\"5\">Attributes of this Data Type:</td>"); 900 out.println("</tr>"); 901 out.println("<tr>"); 902 out.println("<td class=\"bigtext\">Position:</td>"); 903 out.println("<td class=\"bigtext\">Designation:</td>"); 904 out.println("<td class=\"bigtext\">Data Type:</td>"); 905 out.println("<td class=\"bigtext\">Size:</td>"); 906 out.println("<td class=\"bigtext\"> </td>"); 907 out.println("</tr>"); 908 for (i=0;i<temp_datatype.getXinco_core_data_type_attributes().size();i++) { 909 out.println("<tr>"); 910 out.println("<td class=\"text\">" + ((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getAttribute_id() + "</td>"); 911 out.println("<td class=\"text\">" + ((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getDesignation() + "</td>"); 912 out.println("<td class=\"text\">" + ((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getData_type() + "</td>"); 913 out.println("<td class=\"text\">" + ((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getSize() + "</td>"); 914 if (((current_datatype_selection == 1) && (((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getAttribute_id() <= 8)) 915 || ((current_datatype_selection == 2) && (((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getAttribute_id() <= 1)) 916 || ((current_datatype_selection == 3) && (((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getAttribute_id() <= 1)) 917 ) { 918 out.println("<td class=\"text\"> </td>"); 919 } else { 920 out.println("<td class=\"text\"><a HREF=\"XincoAdmin?DialogEditAttributesRemoveAttributeId=" + ((XincoCoreDataTypeAttributeServer)temp_datatype.getXinco_core_data_type_attributes().elementAt(i)).getAttribute_id() + "\" class=\"link\">[Remove*]</a></td>"); 921 } 922 out.println("</tr>"); 923 } 924 925 out.println("<tr>"); 926 out.println("<td class=\"text\" colspan=\"5\"> </td>"); 927 out.println("</tr>"); 928 out.println("<tr>"); 929 out.println("<td class=\"text\" colspan=\"5\">* IMPORTANT: When removing attributes, all of their attribute values stored with data will be DELETED!</td>"); 930 out.println("</tr>"); 931 932 out.println("</table>"); 933 } catch (Exception e) { 934 } 935 936 } 937 938 if (current_location.compareTo("RebuildIndex") == 0) { 939 940 try { 942 out.println("<table border=\"0\" width=\"750\" cellspacing=\"10\" cellpadding=\"0\">"); 943 out.println("<tr>"); 944 out.println("<td class=\"bigtext\" colspan=\"2\">Rebuilding Index...</td>"); 945 out.println("</tr>"); 946 out.println("<tr>"); 947 out.println("<td class=\"text\" colspan=\"2\">Rebuilding the index will take quite some time, please be patient.</td>"); 948 out.println("</tr>"); 949 out.println("<tr>"); 950 out.println("<td class=\"text\" colspan=\"2\"> </td>"); 951 out.println("</tr>"); 952 953 File indexDirectory = null; 955 File indexDirectoryFile = null; 956 String [] indexDirectoryFileList = null; 957 boolean index_directory_deleted = false; 958 indexDirectory = new File(dbm.config.FileIndexPath); 959 if (indexDirectory.exists()) { 960 indexDirectoryFileList = indexDirectory.list(); 961 for (i=0;i<indexDirectoryFileList.length;i++) { 962 indexDirectoryFile = new File(dbm.config.FileIndexPath + indexDirectoryFileList[i]); 963 indexDirectoryFile.delete(); 964 } 965 index_directory_deleted = indexDirectory.delete(); 966 out.println("<tr>"); 967 out.println("<td class=\"text\"><b>Deleting existing Index...</b></td>"); 968 if (index_directory_deleted) { 969 out.println("<td class=\"text\">OK!</td>"); 970 } else { 971 out.println("<td class=\"text\">Failed!</td>"); 972 } 973 out.println("</tr>"); 974 } 975 out.println("<tr>"); 976 out.println("<td class=\"text\"> </td>"); 977 out.println("<td class=\"text\"> </td>"); 978 out.println("</tr>"); 979 980 out.println("<tr>"); 982 out.println("<td class=\"text\"><b>Data (by Designation)</b></td>"); 983 out.println("<td class=\"text\"><b>Indexing Status</b></td>"); 984 out.println("</tr>"); 985 XincoCoreDataServer xdata_temp = null; 986 boolean index_result = false; 987 Statement stmt = dbm.con.createStatement(); 988 ResultSet rs = stmt.executeQuery("SELECT id FROM xinco_core_data ORDER BY designation"); 989 while (rs.next()) { 990 xdata_temp = new XincoCoreDataServer(rs.getInt("id"), dbm); 991 index_result = XincoIndexer.indexXincoCoreData(xdata_temp, true, dbm); 992 out.println("<tr>"); 993 out.println("<td class=\"text\">" + xdata_temp.getDesignation() + "</td>"); 994 if (index_result) { 995 out.println("<td class=\"text\">OK!</td>"); 996 } else { 997 out.println("<td class=\"text\">Failed!</td>"); 998 } 999 out.println("</tr>"); 1000 out.flush(); 1001 } 1002 stmt.close(); 1003 1004 index_result = XincoIndexer.optimizeIndex(dbm); 1006 out.println("<tr>"); 1007 out.println("<td class=\"text\">Optimizing index...</td>"); 1008 if (index_result) { 1009 out.println("<td class=\"text\">OK!</td>"); 1010 } else { 1011 out.println("<td class=\"text\">Failed!</td>"); 1012 } 1013 out.println("</tr>"); 1014 out.flush(); 1015 1016 out.println("</table>"); 1017 1018 } catch (Exception e) { 1019 out.println("</table>"); 1020 } 1021 1022 } 1023 1024 } 1025 1026 out.println("<br><br><br>"); 1028 out.println("<table border=\"0\" cellspacing=\"10\" cellpadding=\"0\">"); 1029 out.println("<tr>"); 1030 out.println("<td class=\"text\"> </td>"); 1031 out.println("<td class=\"text\">© 2004-2006, <a HREF=\"http://www.bluecubs.com\" target=\"_blank\" class=\"link\">blueCubs.com</a> and <a HREF=\"http://www.xinco.org\" target=\"_blank\" class=\"link\">xinco.org</a></td>"); 1032 out.println("</tr>"); 1033 out.println("</table>"); 1034 1035 out.println("</span>"); 1036 out.println("</center>"); 1037 out.println("</body>"); 1038 out.println("</html>"); 1039 1040 out.close(); 1041 1042 try { 1044 dbm.con.close(); 1045 } catch (Exception e) { 1046 global_error_message = global_error_message + e.toString(); 1047 } 1048 1049 } 1050 1051 1055 protected void doGet(HttpServletRequest request, HttpServletResponse response) 1056 throws ServletException, IOException { 1057 processRequest(request, response); 1058 } 1059 1060 1064 protected void doPost(HttpServletRequest request, HttpServletResponse response) 1065 throws ServletException, IOException { 1066 processRequest(request, response); 1067 } 1068 1069 1071 public String getServletInfo() { 1072 return "Servlet of xinco"; 1073 } 1074 1075} 1076 | Popular Tags |