JSF alteração em String dando pau [Resolvido]

4 respostas
C

Bom dia Galera um feliz ano novo a todos.

Seguinte estou dando manutenção em um sistema onde o cliente pediu para alterar a legenda de um gráfico que exibe a frase:

"Contrato Realizado" para "Realizado". A classe Bean que contem o método com a String que faz isto é a seguinte:

public void chartPilarContratadoRealizadoValor(OutputStream out, Object data) throws ExceptionToHandler{
		try{
		    SimpleDateFormat sdf = new SimpleDateFormat("yyyy");	
			popupaFiltroPilares();
			HashMap<String, Double> valores =  null;
			valores = pilarContratadoRealizadoValor.getPilarValor(filtroPilar);
			
			Double valorAcumulado  = valores.get("acumulado");
			Double valorMes = valores.get("mes");

			String serieAcumulado = "Saldo Acumulado "+sdf.format(new Date())+" = "+   Moeda.mascaraDinheiro(valorAcumulado, Moeda.DINHEIRO_REAL) ;
	        String serieMes = "Saldo Mês "+getMesAnoSelecionadoParaImpressao(filtroPilar.getData())+" = "+    Moeda.mascaraDinheiro(valorMes, Moeda.DINHEIRO_REAL);
	        String avaliacaoCategoryPercentual = "Realizado"; 	   // ateração bug 215 - "Contratado Realizado"
	      
	        DefaultCategoryDataset dataset = new DefaultCategoryDataset();
	        	        
	        dataset.addValue(valorMes, serieMes, avaliacaoCategoryPercentual);
	        dataset.addValue(valorAcumulado, serieAcumulado, avaliacaoCategoryPercentual);
	        HashMap<Integer, GradientPaint> cores = new HashMap<Integer, GradientPaint>();

	        if (valorMes>=0)
	        	cores.put(0, getGradientColor(Color.green));
	        else
	        	cores.put(0, getGradientColor(Color.red));
	        
	        if (valorAcumulado>=0)
	        	cores.put(1, getGradientColor(Color.green));
	        else
	        	cores.put(1, getGradientColor(Color.red));
	              
	        chartPilares(out, dataset,cores);	        
		}catch (Exception e) {
			JSFViewHelper.addErrorMessage("Erro ao gerar grafico de Cobertura Contratual Valor "+ e.getMessage());
		}
	}

E a parte dá página .xhtml é a seguinte:

<rich:tab label="Cont. x Realz." styleClass="label">
		              	<table width="100%">
		              		<tr>
							<td  align="center">
								<a4j:outputPanel id="contratadoRealizado">
								<a4j:mediaOutput element="img" cacheable="false"   
		                     		session="true" createContent="#{mainMBean.chartPilarOrcadoRealizado}"  
		                         	mimeType="image/png"   
		                         	style="width: 700px; height: 310px;"/>
		                        </a4j:outputPanel>                     
		                     </td>	
		                     <td valign="top">
		                     	<h:commandButton action="#{mainMBean.exportarPilarContratatoRealizado}" image="/pages/images/Download.gif"/>
		                     </td>
		                    </tr>
		              	</table>
		              </rich:tab>
		               <rich:tab label="Cont. X Realz.(R$)" styleClass="label">
		              	<table width="100%">
			              	<tr>
			              		<td  align="center">		       
			              		<a4j:outputPanel id="graficoValor">         
									<a4j:mediaOutput element="img" cacheable="false"   
				                     		session="true" createContent="#{mainMBean.chartPilarContratadoRealizadoValor}"  
				                         	mimeType="image/png" 
				                         	style="width: 700px; height: 310px;"/>
				                 </a4j:outputPanel>         
			                     </td>	  
			                     <td valign="top"> 
			                       <h:commandButton action="#{mainMBean.exportarPilarContratadoRealizadoValor}" image="/pages/images/Download.gif"/>    							               								     
			                     </td>
			              	</tr>
		              	</table>		             
		              </rich:tab>
					</rich:tabPanel>					
				</h:form>
			</rich:panelBarItem>
			<rich:panelBarItem label="Filtros">		
		    	<h:form>	
			         <table width="100%">
			                  <tr>
							               <td class="label" width="50"><h:outputText value="#{msg.cadastro_main_prop_mes}::"/></td>
							                            <td width="110px">
							                                          <h:inputText value="#{mainMBean.dataReferencia}" size="20"  id="txtData"  readonly="true">
							                                                   <f:convertDateTime   type="date"  pattern="MM/yyyy" /> 
							                                              <a4j:support event="onclick" reRender="calendar, txtData, avaliacaoDesempenho, contratadoRealizado, homologacao
							                                              ,graficoValor, coberturaContratual" rendered="#{mainMBean.dataReferencia != null}"  action="#{mainMBean.adicionaData}" >
                                                                                    <f:setPropertyActionListener  value="#{null}"   target="#{mainMBean.dataReferencia}" />
                                                                         </a4j:support>	
							                                         </h:inputText>
							                            </td>
							                             <td>
							                                         <rich:calendar datePattern="MM/yyyy"  styleClass="input special"  value="#{mainMBean.dataReferencia}"  id="calendar"
							                                                     showWeekDaysBar="false" showFooter="false" oncurrentdateselected="event.rich.component.selectDate(event.rich.date)" popup="false" >
							               	                             <a4j:support event="onchanged" reRender="txtData, avaliacaoDesempenho, contratadoRealizado,
							               	                             graficoValor, coberturaContratual"  action="#{mainMBean.adicionaData}">
                                                                                    <f:setPropertyActionListener  value="#{mainMBean.dataReferencia}"    target="#{mainMBean.dataReferencia}" />
                                                                         </a4j:support>	
							                                        </rich:calendar>
							                                </td>		
							                <td class="label" >
													     <h:outputText value="Status::"/>
														<h:selectManyCheckbox  value="#{mainMBean.status}"  style="font-family:Calibri" id="selStatus"  rendered="true">
														   	 <f:selectItem itemValue="G" itemLabel="Serviços" />
											   				 <f:selectItem itemValue="IS" itemLabel="Insumos" />
											   			     <f:selectItem itemValue="PR" itemLabel="Paradas" />		
											   			       <a4j:support event="onchange" reRender="selStatus, avaliacaoDesempenho, contratadoRealizado, homologacao
									                                              ,graficoValor,coberturaContratual"   action="#{mainMBean.adicionaStatus}"  rendered="true">
		                                                       </a4j:support>	
													</h:selectManyCheckbox >		
											</td>		
					            </tr>
					             <tr>

Seguinte quando eu faço a alteração tirando o contrato e deichando apenas o realizado na String. á página ao carregar o sistema dá este erro:

HTTP Status 404 - /gc-web/pages/main/main.jsf

type Status report

message /gc-web/pages/main/main.jsf

description The requested resource (/gc-web/pages/main/main.jsf) is not available.

JBossWeb/2.0.1.GA

Ai quando volto com o valor anterior e rodo o maven e subo o servidor roda de boa.

Alguém consegue me dar uma luz? Valeu galera.

Mais uma coisa o página em questão é a do código acima. E o Jboss não dá nenhum erro.

4 Respostas

C

SOLUCIONADO!!!

Galera desculpem a minha bobeira. Mas o problema foi resolvido. Realmente não tinha porque não funcionar a alteração no valor da String.

O problema ocorria no maven quando eu rodo ele. Ao invés dele criar o arquivo *.war detro da pasta do jboss. Por algum motivo ele está criando uma outra pasta jboss na minha unidade c:\ e ai nunca que eu ia rodar o sistema.

A solução por enquanto até solucionar o problema. É compilar com o maven e copiar o arquivo criado e jogar dentro do jboss.

C

Cara, se eu entendi, a ÚNICA alteração que você realizou foi ali na linha 13…

ANTES: String avaliacaoCategoryPercentual = “Contrato Realizado”;
DEPOIS: String avaliacaoCategoryPercentual = “Realizado”;

Se foi só isso mesmo, não vejo relação para a aplicação ter deixado de funcionar, deve ter outra coisa obscura por aí rsrs…

C

carmipa:
SOLUCIONADO!!!

Galera desculpem a minha bobeira. Mas o problema foi resolvido. Realmente não tinha porque não funcionar a alteração no valor da String.

O problema ocorria no maven quando eu rodo ele. Ao invés dele criar o arquivo *.war detro da pasta do jboss. Por algum motivo ele está criando uma outra pasta jboss na minha unidade c:\ e ai nunca que eu ia rodar o sistema.

A solução por enquanto até solucionar o problema. É compilar com o maven e copiar o arquivo criado e jogar dentro do jboss.

Agora sim, tá explicado kkkk!
Dá uma olhada no pom.xml pode ser alguma coisa nele que está fazendo gerar o war no local errado.

Abraços!

C

valeu ela ajuda… puts se eu te falar que eu não mexi em absolutamente nada nesta configuração…

opa acho que eu sei o que é:

talvez:

mandeu comitar o projeto dentro do team subversion

e o pow também comitou… mas só muda se eu voltei a uma versão anterior que não é o caso.

mas valeu a ajuda.

Criado 2 de janeiro de 2014
Ultima resposta 2 de jan. de 2014
Respostas 4
Participantes 2