1 25 26 29 package net.killingar.forum.actions.strip; 30 31 import net.killingar.forum.internal.Comic; 32 33 public class View extends net.killingar.forum.actions.comic.ActionComicsSupport 34 { 35 37 net.killingar.forum.internal.Strip strip; 39 Comic comic; 40 boolean current; 41 long position; 42 long numberOfStrips; 43 String url; 44 boolean setPosition; 45 46 48 50 public void setStripID(long stripID) 52 { 53 try 54 { 55 strip = comicmgr.getStrip(stripID); 56 comic = comicmgr.getComic(strip.getParentID()); 57 } 58 catch (Exception e) 59 { 60 strip = null; 61 } 62 } 63 64 public void setSetPosition(boolean setPosition) { this.setPosition = setPosition; } 65 66 public net.killingar.forum.internal.Strip getStrip() { return strip; } 68 public Comic getComic() { return comic; } 69 public boolean getCurrent() { return current; } 70 public long getPosition() { return position; } 71 public long getNumberOfStrips() { return numberOfStrips; } 72 public String getUrl() { return url; } 73 74 protected String doExecute() 76 { 77 if (strip == null) 78 { 79 addErrorMessage("strip not found"); 80 return ERROR; 81 } 82 83 try 84 { 85 if (comicmgr.getPosition(manager.getUserID(), strip.parentID) == strip.prevID || setPosition) 86 comicmgr.setPosition(manager.getUserID(), strip.parentID, strip.getId()); 87 88 position = comicmgr.getStripPosition(strip.ID); 89 numberOfStrips = comicmgr.getNumberOfStrips(strip.parentID); 90 current = comicmgr.getPosition(manager.getUserID(), strip.parentID) == strip.ID; 91 url = (optionmgr.get("disable cached comics") != null || strip.localURL == null)? strip.URL: strip.localURL; 92 } 93 catch (Exception e) 94 { 95 e.printStackTrace(); 96 addErrorMessage("executing "+getClass().toString()+" action failed, exception thrown: "+e.toString()); 97 return ERROR; 98 } 99 100 return SUCCESS; 101 } 102 } 103 | Popular Tags |