View Javadoc

1   /*
2    * Criado em 18/19/2007
3    *
4    */
5   package ecar.taglib.util;
6   
7   import java.util.Collection;
8   
9   import javax.servlet.jsp.JspException;
10  import javax.servlet.jsp.JspWriter;
11  import javax.servlet.jsp.PageContext;
12  import javax.servlet.jsp.tagext.Tag;
13  
14  import comum.util.Pagina;
15  import comum.util.Util;
16  
17  import ecar.pojo.EstruturaFuncaoEttf;
18  import ecar.pojo.ItemEstrUplCategIettuc;
19  import ecar.pojo.ItemEstrutUploadIettup;
20  import ecar.taglib.combos.ComboTag;
21  
22  
23  /**
24   * Taglib que gera a tela de upload para um controle HTML.<br>
25   * 
26   * @author Milton Pereira
27   */
28  public class AnexosUploadTag implements Tag {
29  	
30  	private ItemEstrutUploadIettup anexo;
31  	private String disabled;
32  	private String readOnly;
33  
34  	private String nomeComboTag;
35  	private String objetoComboTag;
36  	private String labelComboTag;
37  	private String valueComboTag;
38  	private String orderComboTag;
39  	private String scriptsComboTag;
40  	private Collection colecao;
41    
42  	//variavel usada apenas na nova tela de acompanhamento
43  	private String indice;
44  
45      private PageContext page = null;
46  
47      private Tag parent;
48      
49      private String imagem;
50  
51      public static final long MAXLENGTH = 200;
52      
53      private JspWriter writerParametro = null;
54      
55      /**
56       * @author N/C
57  	 * @since N/C
58  	 * @version N/C
59       */
60      public AnexosUploadTag() {
61      	
62      }
63      
64      /**
65       * Atribui valor especificado para JspWriter writerParametro.<br>
66       * 
67       * @author N/C
68  	 * @since N/C
69  	 * @version N/C
70       * @param JspWriter writer
71       */
72      public AnexosUploadTag(JspWriter writer) {
73      	this.writerParametro = writer;
74      }
75      
76      /**
77       * Inicializa a montagem da tag para ser adicionada na tela de HTML.<br>
78       * 
79       * @author N/C
80  	 * @since N/C
81  	 * @version N/C
82  	 * @return int
83  	 * @throws JspException
84       */
85      public int doStartTag() throws JspException {
86      	JspWriter writer = null;
87      	if(writerParametro != null) {
88      		writer = writerParametro;
89      	} else {
90          	writer = this.page.getOut();
91      	}
92      	String idCampo = "";
93          StringBuffer s = new StringBuffer();
94          StringBuffer sFim = new StringBuffer();
95          Input tagInput = (Input) getParent();
96          try {
97          	
98          	s.append("<table class=\"form\">");
99              s.append("<tr> ");
100             s.append("	<td colspan=2> ");
101     		s.append("		<div class=\"camposobrigatorios\">* Campos de preenchimento obrigat&oacute;rio</div>");
102     		s.append("	</td>");
103     		s.append("</tr>");
104     		s.append("<tr>");
105     		s.append("	<td class=\"label\">");
106     		if(anexo != null && anexo.getArquivoIettup()!=null){
107     			s.append("Novo Arquivo:");
108     		} else {	
109     			s.append("* Arquivo:");	
110     		}
111     		s.append("	</td>");
112     		if(getIndice()!= null && !getIndice().equals(""))
113     			idCampo = " id=\"arquivoIettup"+getIndice()+"\" ";
114     		s.append("	<td>");
115    			s.append("		<input type=\"file\" name=\"arquivoIettup\"" + disabled + idCampo + ">");
116     		s.append("	</td>");
117     		s.append("</tr>");
118     		s.append("<tr>");
119     		s.append("	<td class=\"label\">* Descri&ccedil;&atilde;o</td>");		
120     		if(getIndice()!= null && !getIndice().equals("")) {
121     			idCampo = " id=\"descricaoIettup"+getIndice()+"\" ";
122     			s.append("	<td><textarea name=\"descricaoIettup"+getIndice()+"\" rows=\"4\" cols=\"60\" "+ readOnly + idCampo);
123     		} else {
124     			s.append("	<td><textarea name=\"descricaoIettup\" rows=\"4\" cols=\"60\" "+ readOnly);
125     		}
126     		s.append("		onkeyup=\"return validaTamanhoLimite(this, 2000);\"");
127     		s.append("  	onkeydown=\"return validaTamanhoLimite(this, 2000);\"");
128     		s.append("  	onblur=\"return validaTamanhoLimite(this, 2000);\"> " + Pagina.trocaNull(anexo.getDescricaoIettup()) + "</textarea>");
129     		s.append("	</td>");
130     		s.append("</tr>");
131     		
132     		if(anexo!= null && anexo.getArquivoIettup()!=null){
133     			s.append("<tr>");
134     			s.append("	<td class=\"label\">Arquivo Atual:</td>");
135     			s.append("	<td> "+ anexo.getNomeOriginalIettup() + "</td>");
136     			s.append("</tr>");
137     			s.append("<tr>");
138     			s.append("	<td class=\"label\">Tamanho Atual:</td>");
139     			s.append("	<td>  " + Util.formataByte(anexo.getTamanhoIettup()) + "</td>");
140     			s.append("</tr>");
141     			s.append("<tr>");
142     			s.append("	<td class=\"label\">Data:</td>");
143     			s.append("	<td> " + Pagina.trocaNullData(anexo.getDataInclusaoIettup()) + "</td>");
144     			s.append("</tr>");
145     		}
146     		s.append("<tr>");
147     		s.append("	<td class=\"label\">* Tipo</td>");
148     		s.append("	<td>");
149     		
150     		writer.print(s.toString());
151 
152     		String selectedTipo = "";
153     		if(anexo.getUploadTipoArquivoUta() != null)
154     			selectedTipo = anexo.getUploadTipoArquivoUta().getCodUta().toString();
155         	
156     		ComboTag comboTag = new ComboTag(writer);
157     		if(getIndice()!= null && !getIndice().equals(""))
158     			nomeComboTag = nomeComboTag+getIndice();
159     		comboTag.setNome(nomeComboTag);
160         	comboTag.setObjeto(objetoComboTag);
161         	comboTag.setLabel(labelComboTag);
162         	comboTag.setValue(valueComboTag);
163         	comboTag.setSelected(selectedTipo);
164         	comboTag.setScripts(scriptsComboTag);
165         	comboTag.setColecao(colecao);
166         			
167     	    comboTag.doStartTag();
168     	    
169     		sFim.append("</td>");
170     		sFim.append("</tr>");
171     		sFim.append("</table>");
172     		
173     		writer.print(sFim);
174   	 
175             
176         } catch (Exception e) {
177         	
178         }
179         return Tag.EVAL_BODY_INCLUDE;
180     } 
181 
182     public String getIndice() {
183 		return indice;
184 	}
185 
186 	public void setIndice(String indice) {
187 		this.indice = indice;
188 	}
189 
190 	/**
191      * Atribui valor especificado para PageContext page.<br>
192      * 
193      * @author N/C
194 	 * @since N/C
195 	 * @version N/C
196 	 * @param PageContext arg0
197      */
198     public void setPageContext(PageContext arg0) {
199         this.page = arg0;
200     }
201 
202     /**
203      * Atribui valor especificado para Tag parent.<br>
204      * 
205      * @author N/C
206 	 * @since N/C
207 	 * @version N/C
208 	 * @param Tag arg0
209      */
210     public void setParent(Tag arg0) {
211         parent = arg0;
212     }
213 
214     /**
215      * Retorna Tag parent.<br>
216      * 
217      * @author N/C
218 	 * @since N/C
219 	 * @version N/C
220 	 * @return Tag
221      */
222     public Tag getParent() {
223         return parent;
224     }
225 
226     /**
227      * Encerra Tag.<br>
228      * 
229      * @author N/C
230 	 * @since N/C
231 	 * @version N/C
232 	 * @return int
233 	 * @throws JspException
234      */
235     public int doEndTag() throws JspException {
236         return Tag.EVAL_PAGE;
237     }
238 
239     /**
240      * 
241      * 
242      * @author N/C
243 	 * @since N/C
244 	 * @version N/C
245      */
246     public void release() {
247         //this.selected = null;
248     }
249 
250     /**
251      * Retorna PageContext page.<br>
252      * 
253      * @author N/C
254 	 * @since N/C
255 	 * @version N/C
256      * @return PageContext - (Returns the page)
257      */
258     public PageContext getPage() {
259         return page;
260     }
261 
262     /**
263      * Atribui valor especificado para PageContext page.<br>
264      * 
265      * @author N/C
266 	 * @since N/C
267 	 * @version N/C
268      * @param PageContext page - (The page to set)
269      */
270     public void setPage(PageContext page) {
271         this.page = page;
272     }
273 
274 
275     public String getImagem() {
276 		return imagem;
277 	}
278 
279 	public void setImagem(String imagem) {
280 		this.imagem = imagem;
281 	}
282 
283 	public ItemEstrutUploadIettup getAnexo() {
284 		return anexo;
285 	}
286 
287 	public void setAnexo(ItemEstrutUploadIettup anexo) {
288 		this.anexo = anexo;
289 	}
290 
291 	public String getDisabled() {
292 		return disabled;
293 	}
294 
295 	public void setDisabled(String disabled) {
296 		this.disabled = disabled;
297 	}
298 
299 	public String getReadOnly() {
300 		return readOnly;
301 	}
302 
303 	public void setReadOnly(String readOnly) {
304 		this.readOnly = readOnly;
305 	}
306 
307 	public String getNomeComboTag() {
308 		return nomeComboTag;
309 	}
310 
311 	public void setNomeComboTag(String nomeComboTag) {
312 		this.nomeComboTag = nomeComboTag;
313 	}
314 
315 	public String getObjetoComboTag() {
316 		return objetoComboTag;
317 	}
318 
319 	public void setObjetoComboTag(String objetoComboTag) {
320 		this.objetoComboTag = objetoComboTag;
321 	}
322 
323 	public String getLabelComboTag() {
324 		return labelComboTag;
325 	}
326 
327 	public void setLabelComboTag(String labelComboTag) {
328 		this.labelComboTag = labelComboTag;
329 	}
330 
331 	public String getValueComboTag() {
332 		return valueComboTag;
333 	}
334 
335 	public void setValueComboTag(String valueComboTag) {
336 		this.valueComboTag = valueComboTag;
337 	}
338 
339 	public String getOrderComboTag() {
340 		return orderComboTag;
341 	}
342 
343 	public void setOrderComboTag(String orderComboTag) {
344 		this.orderComboTag = orderComboTag;
345 	}
346 
347 	public String getScriptsComboTag() {
348 		return scriptsComboTag;
349 	}
350 
351 	public void setScriptsComboTag(String scriptsComboTag) {
352 		this.scriptsComboTag = scriptsComboTag;
353 	}
354 
355 	public Collection getColecao() {
356 		return colecao;
357 	}
358 
359 	public void setColecao(Collection colecao) {
360 		this.colecao = colecao;
361 	}
362 
363 	public JspWriter getWriterParametro() {
364 		return writerParametro;
365 	}
366 
367 	public void setWriterParametro(JspWriter writerParametro) {
368 		this.writerParametro = writerParametro;
369 	}
370 
371 
372 }