Coverage Report - com.buckosoft.PicMan.web.HtmlUtils
 
Classes in this File Line Coverage Branch Coverage Complexity
HtmlUtils
0%
0/109
0%
0/32
4.2
 
 1  
 /******************************************************************************
 2  
  * HtmlUtils.java - Utilities to make jsp life easier
 3  
  * 
 4  
  * PicMan - The BuckoSoft Picture Manager in Java
 5  
  * Copyright(c) 2005 - Dick Balaska
 6  
  * 
 7  
  */
 8  
 package com.buckosoft.PicMan.web;
 9  
 
 10  
 import java.util.Iterator;
 11  
 import java.util.LinkedList;
 12  
 import java.util.List;
 13  
 
 14  
 import org.apache.commons.logging.Log;
 15  
 import org.apache.commons.logging.LogFactory;
 16  
 
 17  
 import com.buckosoft.PicMan.db.DatabaseFacade;
 18  
 
 19  
 import com.buckosoft.PicMan.domain.Chain;
 20  
 import com.buckosoft.PicMan.domain.Set;
 21  
 import com.buckosoft.PicMan.domain.System;
 22  
 
 23  
 /** Utilities to make jsp life easier.
 24  
  * @author Dick Balaska
 25  
  * @since 2005/08/05
 26  
  * @see <a href="http://cvs.buckosoft.com/Projects/java/PicMan/PicMan/src/com/buckosoft/PicMan/web/HtmlUtils.java">HtmlUtils.java</a>
 27  
  */
 28  0
 public class HtmlUtils {
 29  0
         protected final Log logger = LogFactory.getLog(getClass());
 30  
         static private final String eol = "\r\n";
 31  
 
 32  
         private        DatabaseFacade        dbf;
 33  
 
 34  0
         public void setDatabase(DatabaseFacade dbf) { this.dbf = dbf; }
 35  0
         public DatabaseFacade getDatabase() { return(dbf); }
 36  
 
 37  
         public List<String> getFilterColumnsAsHtml(List<String> in) {
 38  0
                 LinkedList<String> out = new LinkedList<String>();
 39  0
                 Iterator<String> it = in.iterator();
 40  
                 String[]        b;
 41  
                 String                s;
 42  0
                 while (it.hasNext()) {
 43  0
                         s = "";
 44  0
                         b = ((String)it.next()).split("_");
 45  0
                         for (int i=0; i<b.length; i++) {
 46  0
                                 if (i != 0)
 47  0
                                         s += "<br/>";
 48  0
                                 s += b[i];
 49  
                         }
 50  0
                         out.add(s);
 51  
                 }
 52  0
                 return(out);
 53  
         }
 54  
 
 55  
         /** Build a {tr}{td} String of Contact urls.
 56  
          * @param chain
 57  
          * @param setName
 58  
          * @param uri
 59  
          * @return A big String
 60  
          */
 61  
         public        String        getContactSelectorHtml(Chain chain, String setName, String uri) {
 62  0
                 List<Integer>        sizes = dbf.getSizes();
 63  0
                 StringBuffer sb = new StringBuffer();
 64  0
                 for (int i=0; i<chain.getContactCount(); i++) {
 65  0
                         sb.append("<tr>");
 66  0
                         Iterator<Integer> iter = sizes.iterator();
 67  0
                         while (iter.hasNext()) {
 68  0
                                 int size = ((Integer)iter.next()).intValue();
 69  0
                                 sb.append("<td>");
 70  0
                                 if (chain.hasSetSize(setName, size)) {
 71  0
                                         sb.append("<a href=\"");
 72  0
                                         sb.append(uri);
 73  0
                                         sb.append("?cid=" + chain.getCid() + "&set=" + setName + "&size=" + size + "&item=" + i + "\">");
 74  0
                                         sb.append(System.getUuid(setName, size, i));
 75  0
                                         sb.append("</a>");
 76  
                                 } else {
 77  0
                                         sb.append("&nbsp;");
 78  
                                 }
 79  0
                                 sb.append("</td>");
 80  0
                         }
 81  0
                         sb.append("</tr>" + eol);
 82  
                 }
 83  0
                 return(sb.toString());
 84  
         }
 85  
 
 86  
         /** Build a String of {tr}{td} that is a 2x2 array of sets/sizes in this chain.
 87  
          * Used by SpinContacts.
 88  
          * @param chain The chain to evaluate.
 89  
          * @return A big honkin' string that starts with {tr} and ends with {/tr}.
 90  
          */
 91  
         public        String                getSetSizeCheckboxesHtml(Chain chain) {
 92  0
                 List<Set>        sets = dbf.getSets();
 93  
 //                List<Integer>        sizes = dbf.getSizes();
 94  0
                 int[]                        sizes = dbf.getSizeArray();
 95  0
                 StringBuffer        sb = new StringBuffer();
 96  0
                 StringBuffer        sx = new StringBuffer();
 97  
                 int                                i;
 98  
                 
 99  0
                 Iterator<Set> iter = sets.iterator();
 100  0
                 boolean[]                        sizesIncluded = new boolean[sizes.length];
 101  0
                 for (i=0; i<sizesIncluded.length; i++)
 102  0
                         sizesIncluded[i] = false;
 103  0
                 i=0;
 104  0
                 while (iter.hasNext()) {
 105  0
                         Set        set = (Set)iter.next();
 106  0
                         String        setName = set.getName();
 107  
 //                        sx.append("<input type=\"hidden\" id=\"set_");
 108  
 //                        sx.append(i++);
 109  
 //                        sx.append("\" value=\"");
 110  
 //                        sx.append(setName);
 111  
 //                        sx.append("\" />");
 112  
 //                        sx.append(eol);
 113  0
                         for (int sizesIndex=0; sizesIndex<sizes.length; sizesIndex++) {
 114  0
                                 int        size = sizes[sizesIndex];
 115  0
                                 if (chain.hasSetSize(setName, size)) {
 116  0
                                         sizesIncluded[sizesIndex] = true;
 117  
                                 }
 118  
                         }
 119  0
                 }
 120  0
                 sb.append("<tr><td>");
 121  0
                 sb.append(sx);
 122  0
                 sb.append("&nbsp;</td><td>&nbsp;</td>");
 123  0
                 sb.append(eol);
 124  0
                 for (i=0; i<sizesIncluded.length; i++) {
 125  0
                         if (!sizesIncluded[i]) {
 126  0
                                 sb.append("<td>&nbsp;</td>");
 127  
                         } else {
 128  0
                                 sb.append("<td>");
 129  0
                                 sb.append("<input type=\"checkbox\" id=\"col_");
 130  0
                                 sb.append(sizes[i]);
 131  0
                                 sb.append("\" name=\"col_");
 132  0
                                 sb.append(sizes[i]);
 133  0
                                 sb.append("\" onclick=\"colClick(");
 134  0
                                 sb.append(sizes[i]);
 135  0
                                 sb.append(")\"/>");
 136  0
                                 sb.append(sizes[i]);
 137  0
                                 sb.append("</td>");
 138  
                         }
 139  0
                         sb.append(eol);
 140  
                 }
 141  0
                 sb.append("</tr>");
 142  0
                 sb.append(eol);
 143  
 /*                sb.append("<tr><td>&nbsp;</td><td>&nbsp;</td>");
 144  
                 for (i=0; i<sizesIncluded.length; i++) {
 145  
                         if (!sizesIncluded[i])
 146  
                                 continue;
 147  
                         sb.append("<td>___</td>");
 148  
                 }                
 149  
                 sb.append("</tr>");
 150  
                 sb.append(eol);
 151  
 */
 152  0
                 iter = sets.iterator();
 153  0
                 while (iter.hasNext()) {
 154  0
                         Set        set = (Set)iter.next();
 155  0
                         String        setName = set.getName();
 156  0
                         boolean included = false;
 157  0
                         sx.setLength(0);
 158  0
                         for (int sizesIndex=0; sizesIndex<sizes.length; sizesIndex++) {
 159  0
                                 int        size = sizes[sizesIndex];
 160  0
                                 sx.append("<td>");
 161  0
                                 if (chain.hasSetSize(setName, size)) {
 162  0
                                         included = true;
 163  0
                                         String ssName = setName + "_" + size;
 164  
 //                                        <input type="checkbox" id="x_<c:out value="${set.name}"/>_<c:out value="${size}"/>" 
 165  
                                         //name="x_<c:out value="${set.name}"/>_<c:out value="${size}"/>"/>
 166  
 //                                        <c:out value="${set.name}"/>_<c:out value="${size}"/>
 167  0
                                         sx.append("<input type=\"checkbox\" id=\"x_");
 168  0
                                         sx.append(ssName);
 169  0
                                         sx.append("\" name=\"x_");
 170  0
                                         sx.append(ssName);
 171  0
                                         sx.append("\"/>");
 172  0
                                         sx.append(ssName);
 173  0
                                 } else {
 174  0
                                         sx.append("&nbsp;");
 175  
                                 }
 176  0
                                 sx.append("</td>");
 177  0
                                 sx.append(eol);
 178  
                         }
 179  0
                         if (included) {
 180  0
                                 sb.append("<tr><td>");
 181  0
                                 sb.append("<input type=\"checkbox\" id=\"row_");
 182  0
                                 sb.append(setName);
 183  0
                                 sb.append("\" name=\"row_");
 184  0
                                 sb.append(setName);
 185  0
                                 sb.append("\" onclick=\"rowClick('");
 186  0
                                 sb.append(setName);
 187  0
                                 sb.append("');\"/>");
 188  
 //                                sb.append(setName);
 189  0
                                 sb.append("</td><td>:</td>");
 190  0
                                 sb.append(eol);
 191  
 
 192  0
                                 sb.append(sx);
 193  0
                                 sb.append("</tr>");
 194  0
                                 sb.append(eol);
 195  
                         }
 196  0
                 }
 197  0
                 return(sb.toString());
 198  
         }
 199  
 
 200  
 }