Changeset 34f58929d9e5d5d1fb19b6a455e45212d1e218a1
- Timestamp:
- 09/22/07 15:18:09 (1 year ago)
- git-parent:
- Files:
-
- src/net/driftingsouls/ds2/server/framework/pipeline/GeneratorPipeline.java (modified) (1 diff)
- src/net/driftingsouls/ds2/server/framework/pipeline/generators/DSGenerator.java (modified) (14 diffs)
- src/net/driftingsouls/ds2/server/framework/pipeline/generators/Generator.java (modified) (5 diffs)
- src/net/driftingsouls/ds2/server/framework/pipeline/generators/TemplateGenerator.java (added)
- src/net/driftingsouls/ds2/server/modules/ActivateAllController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/AllyController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/AllyListController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/AngriffController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BBCodeViewController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BaseController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BasenController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BuildController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BuildingController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/BuildingsController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ChoffController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ColonizeController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ComNetController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/CommController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/CoreController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/CrewtauschController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/DeutAllController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/DeutSammelnController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ErsteigernController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/FleetMgntController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ForschinfoController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/GtuZwischenLagerController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/HandelController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ImpObjectsController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ItemInfoController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/KapernController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/LinksController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/LogoutController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/MapController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/NPCOrderController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/OptionsController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/PluendernController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/PortalController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/ScanController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/SchiffController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/SchiffInfoController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/SchiffeController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/SurveyController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/TCController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/TechDatabaseController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/TechListeController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/TradeController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/TransportController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/UeberController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/UserProfileController.java (modified) (2 diffs)
- src/net/driftingsouls/ds2/server/modules/WerftController.java (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
src/net/driftingsouls/ds2/server/framework/pipeline/GeneratorPipeline.java
r740f4b3 r34f5892 45 45 public GeneratorPipeline( String execType, Class<? extends Generator> generator ) { 46 46 this.generator = generator; 47 if( "ajax".equals(execType) ) { 48 this.execType = ActionType.AJAX; 49 } 47 this.execType = ActionType.getByExecType(execType); 50 48 } 51 49 52 50 private void generateContent(Context context, Class<? extends Generator> generator) throws Exception { 53 Constructor constr = generator.getConstructor(Context.class);51 Constructor<? extends Generator> constr = generator.getConstructor(Context.class); 54 52 constr.setAccessible(true); 55 53 56 Objectcntl = constr.newInstance(context);54 Generator cntl = constr.newInstance(context); 57 55 58 // TODO: seeeehr unschoen 59 ((DSGenerator)cntl).handleAction(context.getRequest().getParameter("action"), execType); 56 cntl.handleAction(context.getRequest().getParameter("action"), execType); 60 57 } 61 58 src/net/driftingsouls/ds2/server/framework/pipeline/generators/DSGenerator.java
r740f4b3 r34f5892 19 19 package net.driftingsouls.ds2.server.framework.pipeline.generators; 20 20 21 import java.io.File;22 21 import java.lang.reflect.InvocationTargetException; 23 22 import java.lang.reflect.Method; … … 32 31 import net.driftingsouls.ds2.server.framework.Configuration; 33 32 import net.driftingsouls.ds2.server.framework.Context; 33 import net.driftingsouls.ds2.server.framework.ContextMap; 34 34 import net.driftingsouls.ds2.server.framework.pipeline.Error; 35 import net.driftingsouls.ds2.server.framework. templates.TemplateEngine;35 import net.driftingsouls.ds2.server.framework.pipeline.Response; 36 36 37 37 import org.apache.commons.lang.StringUtils; … … 43 43 */ 44 44 public abstract class DSGenerator extends Generator { 45 protected abstract class FWOutputHelper { 45 protected static abstract class OutputHelper { 46 private Context context = null; 47 private Map<String,String> attributes = new HashMap<String,String>(); 48 49 /** 50 * Konstruktor 51 * 52 */ 53 public OutputHelper() { 54 context = ContextMap.getContext(); 55 } 56 46 57 /** 47 58 * Gibt den Header aus … … 59 70 */ 60 71 public abstract void printErrorList(); 61 } 62 63 protected class FWHtmlOutputHelper extends FWOutputHelper { 72 73 /** 74 * Setzt ein Attribut 75 * @param key Der Schluessel 76 * @param value Der Wert 77 */ 78 public final void setAttribute(String key, String value) { 79 this.attributes.put(key, value); 80 } 81 82 /** 83 * Gibt das Attribut mit dem angegebenen Schluessel zurueck 84 * @param key Der Schluessel 85 * @return Der Wert 86 */ 87 public final String getAttribute(String key) { 88 return this.attributes.get(key); 89 } 90 91 /** 92 * Gibt den aktuellen Kontext zurueck 93 * @return Der Kontext 94 */ 95 protected final Context getContext() { 96 return this.context; 97 } 98 } 99 100 /** 101 * <p>Ausgabehilfe fuer HTML</p> 102 * Attribute: 103 * <ul> 104 * <li><code>header</code> - String mit weiteren Header-Text 105 * </ul> 106 * 107 */ 108 protected class HtmlOutputHelper extends OutputHelper { 64 109 @Override 65 110 public void printHeader() { 66 getResponse().setContentType("text/html"); 67 getResponse().setCharSet("UTF-8"); 68 69 if( getString("_style").equals("xml") ) { 111 Response response = getContext().getResponse(); 112 113 response.setContentType("text/html"); 114 response.setCharSet("UTF-8"); 115 116 if( getContext().getRequest().getParameterString("_style").equals("xml") ) { 70 117 return; 71 118 } 72 StringBuffer sb = getResponse().getContent();119 StringBuffer sb = response.getContent(); 73 120 String url = Configuration.getSetting("URL")+"/"; 74 121 boolean usegfxpak = false; 75 if( getUser() != null ) { 76 if( !getUser().getUserImagePath().equals(BasicUser.getDefaultImagePath()) ) { 122 final BasicUser user = getContext().getActiveUser(); 123 if( user != null ) { 124 if( !user.getUserImagePath().equals(BasicUser.getDefaultImagePath()) ) { 77 125 usegfxpak = true; 78 126 } 79 url = getUser().getImagePath();127 url = user.getImagePath(); 80 128 } 81 129 sb.append("<html xmlns=\"http://www.w3.org/1999/xhtml\" xml:lang=\"de\" lang=\"de\">\n"); … … 91 139 sb.append("<![endif]-->\n"); 92 140 93 sb.append(getTemplateEngine().getVar( "__HEADER" ) ); 141 if( this.getAttribute("header") != null ) { 142 sb.append(this.getAttribute("header")); 143 } 94 144 95 145 sb.append("</head>\n"); … … 117 167 @Override 118 168 public void printFooter() { 119 if( getTemplateID().length() > 0 ) { 120 getTemplateEngine().parse( "OUT", getTemplateID() ); 121 122 getTemplateEngine().p("OUT"); 123 } 124 if( getString("_style").equals("xml") ) { 169 if( getContext().getRequest().getParameterString("_style").equals("xml") ) { 125 170 return; 126 171 } 127 StringBuffer sb = get Response().getContent();172 StringBuffer sb = getContext().getResponse().getContent(); 128 173 if( !getDisableDebugOutput() ) { 129 174 sb.append("<div style=\"text-align:center; font-size:11px;color:#c7c7c7; font-family:arial, helvetica;\">\n"); 130 175 sb.append("<br /><br /><br />\n"); 131 //sb.append("QCount: "+getDatabase().getQCount()+"<br />\n");132 176 sb.append("Execution-Time: "+(System.currentTimeMillis()-getStartTime())/1000d+"s<br />\n"); 133 177 //echo "<a class=\"forschinfo\" target=\"none\" style=\"font-size:11px\" href=\"http://ds2.drifting-souls.net/mantis/\">Zum Bugtracker</a><br />\n"; 134 if( (getUser() != null) && (getUser().getAccessLevel() >= 20) && getDatabase().getQueryLogStatus() ) {135 sb.append("<div style=\"display:none\"><!--\n");136 sb.append(getDatabase().getQueryLog());137 sb.append("--></div>\n");138 }139 178 sb.append("</div>\n"); 140 179 } … … 145 184 @Override 146 185 public void printErrorList() { 147 StringBuffer sb = get Response().getContent();186 StringBuffer sb = getContext().getResponse().getContent(); 148 187 sb.append("<div align=\"center\">\n"); 149 188 sb.append(Common.tableBegin(430,"left")); 150 189 sb.append("<div style=\"text-align:center; font-size:14px; font-weight:bold\">Es sind Fehler aufgetreten:</div><ul>\n"); 151 190 152 for( Error error : get ErrorList() ) {191 for( Error error : getContext().getErrorList() ) { 153 192 if( error.getUrl() == null ) { 154 193 sb.append("<li><span style=\"font-size:14px; color:red\">"+error.getDescription().replaceAll("\n","<br />")+"</span></li>\n"); … … 165 204 } 166 205 167 protected class FWAjaxOutputHelper extends FWOutputHelper {206 protected static class AjaxOutputHelper extends OutputHelper { 168 207 @Override 169 public void printHeader() { 170 // Moegliche Templates vorerst deaktivieren 171 // (bis wir sie fuer ajax wirklich mal brauchen sollten) 172 // TODO 173 //$cntl->setTemplate(''); 174 } 208 public void printHeader() {} 175 209 @Override 176 210 public void printFooter() {} 177 211 @Override 178 212 public void printErrorList() { 179 StringBuffer sb = get Response().getContent();180 181 for( Error error : get ErrorList() ) {213 StringBuffer sb = getContext().getResponse().getContent(); 214 215 for( Error error : getContext().getErrorList() ) { 182 216 sb.append("ERROR: "+error.getDescription().replaceAll("\n"," ")+"\n"); 183 217 } … … 186 220 187 221 private ActionType actionType; 188 private FWOutputHelper actionTypeHandler; 189 190 private TemplateEngine templateEngine; 191 private String masterTemplateID; 222 private OutputHelper actionTypeHandler; 192 223 193 224 private boolean disableDefaultCSS; 194 225 private boolean disableDebugOutput; 195 private String browser;196 226 private long startTime; 197 227 private boolean requireValidSession; … … 228 258 preloadUserValues = new ArrayList<String>(); 229 259 preloadUserValues.add("id"); 230 231 templateEngine = null;232 masterTemplateID = "";233 260 234 261 setActionType(ActionType.DEFAULT); 235 236 String browser = getRequest().getHeader("user-agent");237 if( browser != null ) {238 browser = browser.toLowerCase();239 240 if( browser.indexOf("opera") > -1 ) {241 browser = "opera";242 }243 else if( browser.indexOf("msie") > -1 ) {244 browser = "msie";245 }246 else {247 browser = "mozilla";248 }249 this.browser = browser;250 }251 else {252 this.browser = "unknown";253 }254 262 } 255 263 … … 345 353 else { 346 354 this.parameter.put(parameter,""); 347 }348 }349 350 private void createTemplateEngine() {351 if( templateEngine != null ) {352 return;353 }354 355 templateEngine = new TemplateEngine(getContext());356 357 String style = (String)getParameter("_style");358 if( !style.equals("") ) {359 templateEngine.setOverlay(style);360 }361 362 if( getBrowser().equals("opera") ) {363 templateEngine.set_var("_BROWSER_OPERA",1);364 }365 else if( getBrowser().equals("msie") ) {366 templateEngine.set_var("_BROWSER_MSIE",1);367 }368 else {369 templateEngine.set_var("_BROWSER_MOZILLA",1);370 }371 372 if( getUser() != null ) {373 templateEngine.set_var("global.datadir", getUser().getImagePath());374 }375 else {376 templateEngine.set_var("global.datadir", BasicUser.getDefaultImagePath());377 }378 379 templateEngine.set_var( "global.sess", getString("sess"),380 "global.module", getString("module") );381 }382 383 /**384 * Gibt die mit dem Generator verknuepfte Instanz des Template-Engines zurueck385 * @return Das Template-Engine386 */387 public TemplateEngine getTemplateEngine() {388 if( templateEngine == null ) {389 createTemplateEngine();390 }391 return templateEngine;392 }393 394 /**395 * Gibt die ID der im System registrierten Template-File zurueck.396 * Sollte noch kein Template-File registriert sein, so wird ein leerer397 * String zurueckgegeben398 * @return die ID der Template-File oder <code>""</code>399 */400 public String getTemplateID() {401 return masterTemplateID;402 }403 404 /**405 * Setzt das vom Generator verwendete Template-File auf die angegebene Datei. Die Datei muss406 * in kompilierter Form im System vorliegen (das vorhandensein der unkompilierten Variante ist nicht407 * erforderlich).408 * @param file Der Dateiname der unkompilierten Template-Datei409 */410 public void setTemplate( String file ) {411 if( !file.equals("") ) {412 if( templateEngine == null ) {413 createTemplateEngine();414 }415 416 String mastertemplate = new File(file).getName();417 if( mastertemplate.indexOf(".html") > -1 ) {418 mastertemplate = mastertemplate.substring(0,mastertemplate.lastIndexOf(".html"));419 }420 mastertemplate = "_"+mastertemplate.toUpperCase();421 422 masterTemplateID = mastertemplate;423 424 if( !templateEngine.set_file( masterTemplateID, file ) ) {425 masterTemplateID = "";426 }427 }428 else {429 masterTemplateID = "";430 355 } 431 356 } … … 456 381 } 457 382 458 /** 459 * Fueht die angegebene Aktion aus 460 * @param action Der Name der Aktion 461 * @param actionType Der Typ der Aktion 462 */ 383 @Override 463 384 public void handleAction( String action, ActionType actionType ) { 464 385 setActionType( actionType ); … … 478 399 479 400 if( getErrorList().length != 0 ) { 480 masterTemplateID = ""; 481 actionTypeHandler.printHeader(); 482 483 if( getErrorList().length > 0 ) { 484 actionTypeHandler.printErrorList(); 485 } 486 487 actionTypeHandler.printFooter(); 401 printErrorList(true); 488 402 489 403 return; 490 404 } 491 if( templateEngine != null ) { 492 if( getContext().getActiveUser() != null ) { 493 getContext().getActiveUser().setTemplateVars( templateEngine ); 494 } 495 } 496 497 if( (getErrorList().length == 0) && validateAndPrepare(action) ) { 498 String callAction = action + actionType.getActionExt(); 499 500 try { 501 Method method = getClass().getMethod(callAction); 502 method.setAccessible(true); 503 method.invoke(this); 504 } 505 catch( InvocationTargetException e ) { 506 Throwable t = e.getCause(); 507 t.printStackTrace(); 508 StackTraceElement[] st = t.getStackTrace(); 509 String stacktrace = ""; 510 for( StackTraceElement s : st ) { 511 stacktrace += s.toString()+"\n"; 512 } 513 514 addError("Es ist ein Fehler in der Action '"+action+"' aufgetreten:\n"+t.toString()+"\n\n"+stacktrace); 405 406 if( (getErrorList().length != 0) || validateAndPrepare(action) ) { 407 printErrorList(true); 408 409 return; 410 } 411 String callAction = action + actionType.getActionExt(); 412 413 try { 414 Method method = getClass().getMethod(callAction); 415 method.setAccessible(true); 416 method.invoke(this); 417 } 418 catch( InvocationTargetException e ) { 419 Throwable t = e.getCause(); 420 t.printStackTrace(); 421 StackTraceElement[] st = t.getStackTrace(); 422 String stacktrace = ""; 423 for( StackTraceElement s : st ) { 424 stacktrace += s.toString()+"\n"; 425 } 515 426 516 Common.mailThrowable(e, "DSGenerator Invocation Target Exception", 517 "Action: "+action+"\n" + 518 "ActionType: "+actionType+"\n" + 519 "User: "+(getContext().getActiveUser() != null ? getContext().getActiveUser().getID() : "none")+"\n" + 520 "Query-String: "+getContext().getRequest().getQueryString()); 521 522 getContext().rollback(); 523 } 524 catch( NoSuchMethodException e ) { 525 addError("Die Aktion '"+action+"' existiert nicht!"); 526 } 527 catch( Exception e ) { 528 addError("Es ist ein Fehler beim Aufruf der Action '"+action+"' aufgetreten:\n"+e.toString()); 529 Common.mailThrowable(e, "DSGenerator Exception", 530 "Action: "+action+"\n" + 531 "ActionType: "+actionType+"\n"+ 532 "User: "+(getContext().getActiveUser() != null ? getContext().getActiveUser().getID() : "none")+"\n" + 533 "Query-String: "+getContext().getRequest().getQueryString()); 534 getContext().rollback(); 535 } 536 } 537 else { 538 masterTemplateID = ""; 539 } 427 addError("Es ist ein Fehler in der Action '"+action+"' aufgetreten:\n"+t.toString()+"\n\n"+stacktrace); 428 429 Common.mailThrowable(e, "DSGenerator Invocation Target Exception", 430 "Action: "+action+"\n" + 431 "ActionType: "+actionType+"\n" + 432 "User: "+(getContext().getActiveUser() != null ? getContext().getActiveUser().getID() : "none")+"\n" + 433 "Query-String: "+getContext().getRequest().getQueryString()); 434 435 getContext().rollback(); 436 } 437 catch( NoSuchMethodException e ) { 438 addError("Die Aktion '"+action+"' existiert nicht!"); 439 } 440 catch( Exception e ) { 441 addError("Es ist ein Fehler beim Aufruf der Action '"+action+"' aufgetreten:\n"+e.toString()); 442 Common.mailThrowable(e, "DSGenerator Exception", 443 "Action: "+action+"\n" + 444 "ActionType: "+actionType+"\n"+ 445 "User: "+(getContext().getActiveUser() != null ? getContext().getActiveUser().getID() : "none")+"\n" + 446 "Query-String: "+getContext().getRequest().getQueryString()); 447 getContext().rollback(); 448 } 449 540 450 parseSubParameter(""); 541 451 content = getResponse().getContent().toString(); 542 452 content = StringUtils.replace(content,"{{{__SESSID__}}}", getString("sess")); 543 getResponse().resetContent(); 544 545 printHeader( action ); 453 getResponse().setContent(content); 454 455 if( getErrorList().length > 0 ) { 456 printErrorList(false); 457 } 458 else { 459 getResponse().resetContent(); 460 461 printHeader( action ); 462 463 if( getErrorList().length > 0 ) { 464 actionTypeHandler.printErrorList(); 465 } 466 467 getResponse().getContent().append(content); 468 469 printFooter( action ); 470 } 471 } 472 473 protected void printErrorList(boolean init) { 474 String content = getResponse().getContent().toString(); 475 476 actionTypeHandler.printHeader(); 546 477 547 478 if( getErrorList().length > 0 ) { 548 479 actionTypeHandler.printErrorList(); 549 480 } 550 551 getResponse().getContent().append(content); 552 553 printFooter( action ); 481 482 if( !init ) { 483 getResponse().resetContent(); 484 getResponse().getContent().append(content); 485 } 486 487 actionTypeHandler.printFooter(); 554 488 } 555 489 … … 663 597 } 664 598 665 /**666 * Gibt den Identifikationsstring des Browsers des Spielers zurueck667 * @return Der Identifikationsstring des Browsers668 */669 public String getBrowser() {670 return browser;671 }672 673 599 protected void setActionType( ActionType type ) { 674 600 if( type == ActionType.DEFAULT ) { 675 actionTypeHandler = new FWHtmlOutputHelper();601 actionTypeHandler = new HtmlOutputHelper(); 676 602 } 677 603 else if( type == ActionType.AJAX ) { 678 actionTypeHandler = new FWAjaxOutputHelper();604 actionTypeHandler = new AjaxOutputHelper(); 679 605 } 680 606 681 607 actionType = type; 608 } 609 610 /** 611 * Gibt die Ausgabehilfe zurueck 612 * @return Die Ausgabehilfe 613 */ 614 protected OutputHelper getOutputHelper() { 615 return actionTypeHandler; 682 616 } 683 617 src/net/driftingsouls/ds2/server/framework/pipeline/generators/Generator.java
r09a6f71 r34f5892 35 35 public abstract class Generator { 36 36 private Context context; 37 private String browser; 37 38 38 39 /** … … 42 43 public Generator(Context context) { 43 44 this.context = context; 45 46 String browser = getRequest().getHeader("user-agent"); 47 if( browser != null ) { 48 browser = browser.toLowerCase(); 49 50 if( browser.indexOf("opera") > -1 ) { 51 browser = "opera"; 52 } 53 else if( browser.indexOf("msie") > -1 ) { 54 browser = "msie"; 55 } 56 else { 57 browser = "mozilla"; 58 } 59 this.browser = browser; 60 } 61 else { 62 this.browser = "unknown"; 63 } 44 64 } 45 65 … … 113 133 * @return Der Kontext 114 134 */ 115 public Context getContext() {135 public final Context getContext() { 116 136 return context; 117 137 } … … 121 141 * @return Die aktuelle Hibernate-Session 122 142 */ 123 public org.hibernate.Session getDB() {143 public final org.hibernate.Session getDB() { 124 144 return context.getDB(); 125 145 } … … 133 153 return getContext().getActiveUser(); 134 154 } 155 156 /** 157 * Fueht die angegebene Aktion aus 158 * @param action Der Name der Aktion 159 * @param actionType Der Typ der Aktion 160 */ 161 public abstract void handleAction( String action, ActionType actionType ); 162 163 /** 164 * Gibt den Identifikationsstring des Browsers des Spielers zurueck 165 * @return Der Identifikationsstring des Browsers 166 */ 167 public final String getBrowser() { 168 return browser; 169 } 135 170 } src/net/driftingsouls/ds2/server/modules/ActivateAllController.java
r4b6814a r34f5892 25 25 import net.driftingsouls.ds2.server.framework.Common; 26 26 import net.driftingsouls.ds2.server.framework.Context; 27 import net.driftingsouls.ds2.server.framework.pipeline.generators.DSGenerator;28 27 import net.driftingsouls.ds2.server.framework.pipeline.generators.Action; 29 28 import net.driftingsouls.ds2.server.framework.pipeline.generators.ActionType; 29 import net.driftingsouls.ds2.server.framework.pipeline.generators.TemplateGenerator; 30 30 import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 31 31 … … 38 38 * 39 39 */ 40 public class ActivateAllController extends DSGenerator {40 public class ActivateAllController extends TemplateGenerator { 41 41 private Base base = null; 42 42 src/net/driftingsouls/ds2/server/modules/AllyController.java
r4b6814a r34f5892 40 40 import net.driftingsouls.ds2.server.framework.pipeline.generators.Action; 41 41 import net.driftingsouls.ds2.server.framework.pipeline.generators.ActionType; 42 import net.driftingsouls.ds2.server.framework.pipeline.generators. DSGenerator;42 import net.driftingsouls.ds2.server.framework.pipeline.generators.TemplateGenerator; 43 43 import net.driftingsouls.ds2.server.framework.templates.TemplateEngine; 44 44 import net.driftingsouls.ds2.server.ships.Ship; … … 57 57 * @urlparam String show Die anzuzeigende Unterseite 58 58 */ 59 public class AllyController extends DSGenerator i
