- Timestamp:
- 2003-08-06T12:02:10+12:00 (21 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/gsdl3/src/java/org/greenstone/gsdl3/service/GS2Construct.java
r4903 r5098 67 67 68 68 // the list of the collections - store between some method calls 69 private String[] collection_list _= null;69 private String[] collection_list = null; 70 70 71 71 // set of listeners for any construction commands 72 protected Map listeners _= null;72 protected Map listeners = null; 73 73 74 74 public GS2Construct() { 75 listeners_= Collections.synchronizedMap(new HashMap());75 this.listeners = Collections.synchronizedMap(new HashMap()); 76 76 77 77 } … … 80 80 protected Element getServiceDescription(String service, String lang) { 81 81 82 Element description = doc_.createElement(GSXML.SERVICE_ELEM);82 Element description = this.doc.createElement(GSXML.SERVICE_ELEM); 83 83 description.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 84 84 description.setAttribute(GSXML.NAME_ATT, service); 85 description.appendChild(GSXML.createDisplayTextElement( doc_, GSXML.DISPLAY_TEXT_NAME, getTextString(service+".name", lang)));86 description.appendChild(GSXML.createDisplayTextElement( doc_, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang)));87 88 Element param_list = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);85 description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_NAME, getTextString(service+".name", lang))); 86 description.appendChild(GSXML.createDisplayTextElement(this.doc, GSXML.DISPLAY_TEXT_SUBMIT, getTextString(service+".submit", lang))); 87 88 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 89 89 description.appendChild(param_list); 90 90 91 91 if (service.equals(NEW_SERVICE)) { 92 92 93 Element param = GSXML.createParameterDescription( doc_, NEW_COL_TITLE_PARAM, getTextString("param."+NEW_COL_TITLE_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);94 param_list.appendChild(param); 95 param = GSXML.createParameterDescription( doc_, CREATOR_PARAM, getTextString("param."+CREATOR_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null);96 param_list.appendChild(param); 97 param = GSXML.createParameterDescription( doc_, NEW_COL_ABOUT_PARAM, getTextString("param."+NEW_COL_ABOUT_PARAM, lang), GSXML.PARAM_TYPE_TEXT, null, null, null);93 Element param = GSXML.createParameterDescription(this.doc, NEW_COL_TITLE_PARAM, getTextString("param."+NEW_COL_TITLE_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null); 94 param_list.appendChild(param); 95 param = GSXML.createParameterDescription(this.doc, CREATOR_PARAM, getTextString("param."+CREATOR_PARAM, lang), GSXML.PARAM_TYPE_STRING, null, null, null); 96 param_list.appendChild(param); 97 param = GSXML.createParameterDescription(this.doc, NEW_COL_ABOUT_PARAM, getTextString("param."+NEW_COL_ABOUT_PARAM, lang), GSXML.PARAM_TYPE_TEXT, null, null, null); 98 98 param_list.appendChild(param); 99 99 String[] types = {BUILDTYPE_MGPP, BUILDTYPE_MG}; 100 100 String[] type_texts = {getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MGPP, lang), getTextString("param."+BUILDTYPE_PARAM+"."+BUILDTYPE_MG, lang)}; 101 101 102 param = GSXML.createParameterDescription( doc_, BUILDTYPE_PARAM, getTextString("param."+BUILDTYPE_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, BUILDTYPE_MGPP, types, type_texts);102 param = GSXML.createParameterDescription(this.doc, BUILDTYPE_PARAM, getTextString("param."+BUILDTYPE_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, BUILDTYPE_MGPP, types, type_texts); 103 103 param_list.appendChild(param); 104 104 return description; … … 108 108 if (service.equals(ACTIVATE_SERVICE) || service.equals(IMPORT_SERVICE) || service.equals(BUILD_SERVICE) || service.equals(RELOAD_SERVICE) || service.equals(DELETE_SERVICE)) { 109 109 110 collection_list_= getCollectionList();111 Element param = GSXML.createParameterDescription( doc_, COL_PARAM, getTextString("param."+COL_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, null, collection_list_, collection_list_);110 this.collection_list = getCollectionList(); 111 Element param = GSXML.createParameterDescription(this.doc, COL_PARAM, getTextString("param."+COL_PARAM, lang), GSXML.PARAM_TYPE_ENUM_SINGLE, null, this.collection_list, this.collection_list); 112 112 param_list.appendChild(param); 113 113 … … 129 129 // decode the file name, add it to the import directory 130 130 String name = GSPath.getFirstLink(request.getAttribute(GSXML.TO_ATT)); 131 Element response = doc_.createElement(GSXML.RESPONSE_ELEM);131 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 132 132 response.setAttribute(GSXML.FROM_ATT, name); 133 Element status = doc_.createElement(GSXML.STATUS_ELEM);133 Element status = this.doc.createElement(GSXML.STATUS_ELEM); 134 134 response.appendChild(status); 135 135 //String lang = request.getAttribute(GSXML.LANG_ATT); 136 136 //String request_type = request.getAttribute(GSXML.TYPE_ATT); 137 Text t = doc_.createTextNode("AddDocument: not implemented yet");137 Text t = this.doc.createTextNode("AddDocument: not implemented yet"); 138 138 status.appendChild(t); 139 139 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); … … 164 164 } 165 165 String id = status.getAttribute(GSXML.STATUS_PROCESS_ID_ATT); 166 GS2PerlListener listener = (GS2PerlListener) listeners_.get(id);166 GS2PerlListener listener = (GS2PerlListener)this.listeners.get(id); 167 167 if (listener==null) { 168 168 System.err.println("somethings gone wrong, couldn't find the listener"); … … 181 181 182 182 // add the rest of the messages to the status node 183 Text t = doc_.createTextNode("\n"+listener.getUpdate());183 Text t = this.doc.createTextNode("\n"+listener.getUpdate()); 184 184 status.appendChild(t); 185 185 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(listener.getStatus())); … … 188 188 } 189 189 190 t = doc_.createTextNode("\n");190 t = this.doc.createTextNode("\n"); 191 191 status.appendChild(t); 192 192 // once have got here, we assume … … 200 200 // the response to send back 201 201 String name = GSPath.getFirstLink(request.getAttribute(GSXML.TO_ATT)); 202 Element response = doc_.createElement(GSXML.RESPONSE_ELEM);202 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 203 203 response.setAttribute(GSXML.FROM_ATT, name); 204 Element status = doc_.createElement(GSXML.STATUS_ELEM);204 Element status = this.doc.createElement(GSXML.STATUS_ELEM); 205 205 response.appendChild(status); 206 206 Text t = null; // the text node for the error/success message … … 225 225 String coll_name = (String)params.get(COL_PARAM); 226 226 String[] args={coll_name}; 227 File coll_dir = new File(GSFile.collectionBaseDir( site_home_, coll_name));227 File coll_dir = new File(GSFile.collectionBaseDir(this.site_home, coll_name)); 228 228 // check that the coll is there in the first place 229 229 if (!coll_dir.exists()) { 230 t = doc_.createTextNode(getTextString("delete.exists_error", args, lang));230 t = this.doc.createTextNode(getTextString("delete.exists_error", args, lang)); 231 231 status.appendChild(t); 232 232 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); … … 236 236 // try to delete the directory 237 237 if (!GSFile.deleteFile(coll_dir)) { 238 t = doc_.createTextNode(getTextString("delete.delete_error", args, lang));238 t = this.doc.createTextNode(getTextString("delete.delete_error", args, lang)); 239 239 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); 240 240 status.appendChild(t); … … 249 249 // the response to send back 250 250 String name = GSPath.getFirstLink(request.getAttribute(GSXML.TO_ATT)); 251 Element response = doc_.createElement(GSXML.RESPONSE_ELEM);251 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 252 252 response.setAttribute(GSXML.FROM_ATT, name); 253 Element status = doc_.createElement(GSXML.STATUS_ELEM);253 Element status = this.doc.createElement(GSXML.STATUS_ELEM); 254 254 response.appendChild(status); 255 255 Text t = null; // the text node for the error/success message … … 287 287 288 288 // send the request to the MR 289 Element message = doc_.createElement(GSXML.MESSAGE_ELEM);290 Element request = doc_.createElement(GSXML.REQUEST_ELEM);289 Element message = this.doc.createElement(GSXML.MESSAGE_ELEM); 290 Element request = this.doc.createElement(GSXML.REQUEST_ELEM); 291 291 request.setAttribute(GSXML.TYPE_ATT, GSXML.REQUEST_TYPE_CONFIGURE); 292 292 request.setAttribute(GSXML.TO_ATT, ""); 293 293 message.appendChild(request); 294 Element command = doc_.createElement(GSXML.CONFIGURE_ELEM);294 Element command = this.doc.createElement(GSXML.CONFIGURE_ELEM); 295 295 command.setAttribute(GSXML.TYPE_ATT, GSXML.COLLECTION_ELEM); 296 296 command.setAttribute(GSXML.NAME_ATT, coll_name); … … 304 304 } 305 305 request.appendChild(command); 306 Element response = router_.process(message); // at the moment, get no info in response so ignore it306 Element response = this.router.process(message); // at the moment, get no info in response so ignore it 307 307 Text t; 308 308 String[] args={coll_name}; 309 309 310 310 if (response == null) { 311 t = doc_.createTextNode(getTextString(action_name+".configure_error", args , lang));311 t = this.doc.createTextNode(getTextString(action_name+".configure_error", args , lang)); 312 312 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); 313 313 status.appendChild(t); … … 316 316 317 317 // if we got here, we have succeeded! 318 t = doc_.createTextNode(getTextString(action_name+".success", args, lang));318 t = this.doc.createTextNode(getTextString(action_name+".success", args, lang)); 319 319 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.SUCCESS)); 320 320 status.appendChild(t); … … 333 333 // set up short_service_info_ - for now just has name and type 334 334 335 e = doc_.createElement(GSXML.SERVICE_ELEM);335 e = this.doc.createElement(GSXML.SERVICE_ELEM); 336 336 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 337 337 e.setAttribute(GSXML.NAME_ATT, NEW_SERVICE); 338 short_service_info_.appendChild(e);339 340 e = doc_.createElement(GSXML.SERVICE_ELEM);338 this.short_service_info.appendChild(e); 339 340 e = this.doc.createElement(GSXML.SERVICE_ELEM); 341 341 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 342 342 e.setAttribute(GSXML.NAME_ATT, IMPORT_SERVICE); 343 short_service_info_.appendChild(e);344 345 e = doc_.createElement(GSXML.SERVICE_ELEM);343 this.short_service_info.appendChild(e); 344 345 e = this.doc.createElement(GSXML.SERVICE_ELEM); 346 346 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 347 347 e.setAttribute(GSXML.NAME_ATT, BUILD_SERVICE); 348 short_service_info_.appendChild(e);349 350 e = doc_.createElement(GSXML.SERVICE_ELEM);348 this.short_service_info.appendChild(e); 349 350 e = this.doc.createElement(GSXML.SERVICE_ELEM); 351 351 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 352 352 e.setAttribute(GSXML.NAME_ATT, ACTIVATE_SERVICE); 353 short_service_info_.appendChild(e);354 355 e = doc_.createElement(GSXML.SERVICE_ELEM);353 this.short_service_info.appendChild(e); 354 355 e = this.doc.createElement(GSXML.SERVICE_ELEM); 356 356 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 357 357 e.setAttribute(GSXML.NAME_ATT, DELETE_SERVICE); 358 short_service_info_.appendChild(e);359 360 e = doc_.createElement(GSXML.SERVICE_ELEM);358 this.short_service_info.appendChild(e); 359 360 e = this.doc.createElement(GSXML.SERVICE_ELEM); 361 361 e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 362 362 e.setAttribute(GSXML.NAME_ATT, RELOAD_SERVICE); 363 short_service_info_.appendChild(e);364 365 //e = doc_.createElement(GSXML.SERVICE_ELEM);363 this.short_service_info.appendChild(e); 364 365 //e = this.doc.createElement(GSXML.SERVICE_ELEM); 366 366 //e.setAttribute(GSXML.TYPE_ATT, GSXML.SERVICE_TYPE_PROCESS); 367 367 //e.setAttribute(GSXML.NAME_ATT, ADD_DOC_SERVICE); 368 // short_service_info_.appendChild(e);368 //this.short_service_info.appendChild(e); 369 369 370 370 … … 377 377 // the response to send back 378 378 String name = GSPath.getFirstLink(request.getAttribute(GSXML.TO_ATT)); 379 Element response = doc_.createElement(GSXML.RESPONSE_ELEM);379 Element response = this.doc.createElement(GSXML.RESPONSE_ELEM); 380 380 response.setAttribute(GSXML.FROM_ATT, name); 381 Element status = doc_.createElement(GSXML.STATUS_ELEM);381 Element status = this.doc.createElement(GSXML.STATUS_ELEM); 382 382 response.appendChild(status); 383 383 … … 397 397 String id = (String)params.get(PROCESS_ID_PARAM); 398 398 status.setAttribute(GSXML.STATUS_PROCESS_ID_ATT, id); 399 GS2PerlListener listener = (GS2PerlListener) listeners_.get(id);399 GS2PerlListener listener = (GS2PerlListener)this.listeners.get(id); 400 400 if (listener==null) { 401 Text t = doc_.createTextNode(getTextString("general.process_id_error", lang));401 Text t = this.doc.createTextNode(getTextString("general.process_id_error", lang)); 402 402 status.appendChild(t); 403 403 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); 404 404 } else { 405 Text t = doc_.createTextNode(listener.getUpdate());405 Text t = this.doc.createTextNode(listener.getUpdate()); 406 406 status.appendChild(t); 407 407 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(listener.getStatus())); 408 408 // check that we actually should be removing the listener here 409 409 if (listener.isFinished()) { // remove this listener - its job is done 410 listeners_.remove(id); // not working410 this.listeners.remove(id); // not working 411 411 } 412 412 } … … 431 431 GS2PerlConstructor constructor = new GS2PerlConstructor("perl_build"); 432 432 if (!constructor.configure()) { 433 Text t = doc_.createTextNode(getTextString("general.configure_constructor_error", lang));433 Text t = this.doc.createTextNode(getTextString("general.configure_constructor_error", lang)); 434 434 status.appendChild(t); 435 435 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ERROR)); … … 437 437 } 438 438 439 constructor.setSiteHome( site_home_);439 constructor.setSiteHome(this.site_home); 440 440 constructor.setCollectionName(coll_name); 441 441 constructor.setActionType(type); … … 447 447 448 448 String id = newID(); 449 listeners_.put(id, listener);449 this.listeners.put(id, listener); 450 450 451 451 status.setAttribute(GSXML.STATUS_PROCESS_ID_ATT, id); 452 452 status.setAttribute(GSXML.STATUS_ERROR_CODE_ATT, Integer.toString(GSStatus.ACCEPTED)); 453 Text t = doc_.createTextNode(getTextString("general.process_start", lang));453 Text t = this.doc.createTextNode(getTextString("general.process_start", lang)); 454 454 status.appendChild(t); 455 455 return response; … … 465 465 protected String[] getCollectionList() { 466 466 467 File collectDir = new File(GSFile.collectDir( site_home_));467 File collectDir = new File(GSFile.collectDir(this.site_home)); 468 468 if (!collectDir.exists()) { 469 469 System.err.println("couldn't find collect dir: "+collectDir.toString()); … … 513 513 base_name = coll_title.substring(0,6); 514 514 } 515 File coll_dir = new File(GSFile.collectionBaseDir( site_home_, base_name));515 File coll_dir = new File(GSFile.collectionBaseDir(this.site_home, base_name)); 516 516 if (!coll_dir.exists()) { // this name is ok - not used yet 517 517 return base_name; … … 523 523 while(coll_dir.exists()) { 524 524 i++; 525 coll_dir = new File(GSFile.collectionBaseDir( site_home_, base_name+Integer.toString(i)));525 coll_dir = new File(GSFile.collectionBaseDir(this.site_home, base_name+Integer.toString(i))); 526 526 } 527 527 return base_name+Integer.toString(i); … … 534 534 protected Element extractOtherParams(HashMap params, int type) { 535 535 536 Element param_list = doc_.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER);536 Element param_list = this.doc.createElement(GSXML.PARAM_ELEM+GSXML.LIST_MODIFIER); 537 537 if (type == GS2PerlConstructor.NEW) { 538 Element param = doc_.createElement(GSXML.PARAM_ELEM);538 Element param = this.doc.createElement(GSXML.PARAM_ELEM); 539 539 param.setAttribute(GSXML.NAME_ATT, "creator"); 540 540 param.setAttribute(GSXML.VALUE_ATT, (String)params.get(CREATOR_PARAM)); 541 541 542 542 param_list.appendChild(param); 543 param = doc_.createElement(GSXML.PARAM_ELEM);543 param = this.doc.createElement(GSXML.PARAM_ELEM); 544 544 param.setAttribute(GSXML.NAME_ATT, "about"); 545 545 param.setAttribute(GSXML.VALUE_ATT, (String)params.get(NEW_COL_ABOUT_PARAM)); 546 546 param_list.appendChild(param); 547 param = doc_.createElement(GSXML.PARAM_ELEM);547 param = this.doc.createElement(GSXML.PARAM_ELEM); 548 548 param.setAttribute(GSXML.NAME_ATT, "title"); 549 549 param.setAttribute(GSXML.VALUE_ATT, (String)params.get(NEW_COL_TITLE_PARAM)); 550 550 param_list.appendChild(param); 551 param = doc_.createElement(GSXML.PARAM_ELEM);551 param = this.doc.createElement(GSXML.PARAM_ELEM); 552 552 param.setAttribute(GSXML.NAME_ATT, "buildtype"); 553 553 param.setAttribute(GSXML.VALUE_ATT, (String)params.get(BUILDTYPE_PARAM));
Note:
See TracChangeset
for help on using the changeset viewer.