1 10 package org.mmbase.module.builders; 11 12 import java.text.SimpleDateFormat ; 13 import java.util.*; 14 15 import org.mmbase.module.core.MMObjectNode; 16 import org.mmbase.module.corebuilders.InsRel; 17 import org.mmbase.util.*; 18 import org.mmbase.util.logging.*; 19 20 26 public class AnnotRel extends InsRel { 27 28 public final static int HOURS = 0; 30 public final static int MINUTES = 1; 31 public final static int SECONDS = 2; 32 public final static int MILLIS = 3; 33 41 42 private static final Logger log = Logging.getLoggerInstance(AnnotRel.class); 43 44 49 public void setDefaults(MMObjectNode node) { 50 super.setDefaults(node); 51 node.setValue("pos", 0); 53 node.setValue("end", 0); 54 node.setValue("length", 0); 55 node.setValue("type", MILLIS); 57 } 58 59 67 public String getGUIIndicator(String field, MMObjectNode node) { 68 if (field.equals("pos")) { 69 int time = node.getIntValue("pos"); 70 return RelativeTime.convertIntToTime(time); 71 } else if (field.equals("end")) { 72 int time = node.getIntValue("end"); 73 return RelativeTime.convertIntToTime(time); 74 } else if (field.equals("length")) { 75 int time = node.getIntValue("length"); 76 return RelativeTime.convertIntToTime(time); 77 } else if (field.equals("type")) { 78 int val = node.getIntValue("type"); 79 if (val == HOURS) { 80 return "Hours"; 81 } else if (val == MINUTES) { 82 return "Minuten"; } else if (val == SECONDS) { 84 return "Seconden"; } else if (val == MILLIS) { 86 return "Milliseconden"; } 88 89 104 } 105 return null; 106 } 107 108 116 public boolean process(PageInfo sp, Hashtable cmds, Hashtable vars) { 117 log.debug("process: This method isn't implemented yet."); 118 return false; 119 } 120 121 128 public String replace(PageInfo sp, StringTokenizer command) { 129 log.debug("replace: This method isn't implemented yet."); 130 return ""; 131 } 132 133 141 public boolean setValue(MMObjectNode node, String field) { 142 if (field.equals("end")) { 143 int pos = node.getIntValue("pos"); 144 int end = node.getIntValue("end"); 145 if (end != -1) 146 node.setValue("length", (end - pos)); 147 } else if (field.equals("pos")) { 148 int pos = node.getIntValue("pos"); 149 int end = node.getIntValue("end"); 150 if (end != -1) 151 node.setValue("length", (end - pos)); 152 } else if (field.equals("length")) { 153 int pos = node.getIntValue("pos"); 156 int end = node.getIntValue("end"); 157 int len = node.getIntValue("length"); 158 } 159 return true; 160 } 161 162 public Object getValue(MMObjectNode node, String field) { 163 if (field.equals("ms_pos")) { 164 int pos = node.getIntValue("pos"); 165 return new SimpleDateFormat ("hh:mm.0").format(new Date(pos)); 167 } else if (field.equals("ms_length")) { 168 int len = node.getIntValue("length"); 169 return new SimpleDateFormat ("hh:mm").format(new Date(len)); 170 } else if (field.equals("end")) { 171 int pos = node.getIntValue("pos"); 172 int len = node.getIntValue("length"); 173 int end = pos + len; 174 return ("" + end); 175 } 176 return (null); 177 } 178 } 179 | Popular Tags |