Gerando dois arquivos project [RESOLVIDO]!

5 respostas
danielbb

Boa tarde galera,
Estou com uma aplicação que me gera um documento de project.
quando se pede para abrir esse documento, ele abre dois projects igual!

public void projectExportar()throws PlcException{
		Proposta proposta = (Proposta ) entidadePlc;
		if(proposta.getSumario().get(0).getTotalCicloAB()==null){
			throw new PlcException("validacao.antes.gerar.cronograma");
		}
		
		try   
	      { 
			
			
		    //ProjectReader reader = new MPPReader ();
			ProjectFile project = new ProjectFile();
			
			
			project.setAutoFilter(true);
			project.setAutoOutlineLevel(true);
			project.setAutoOutlineNumber(true);
			project.setAutoResourceID(true);
			project.setAutoResourceUniqueID(true);
			project.setAutoTaskUniqueID(true);
			project.setAutoWBS(true);
			
			
			List <Horas> horas = proposta.getHoras();
			Integer i=0;
			
			HashMap<Long,Task> hmProjeto = new HashMap<Long,Task>();
			HashMap<Long,Task> hmCiclo = new HashMap<Long,Task>();
			HashMap<Long,Task> hmFase = new HashMap<Long,Task>();
			HashMap<Long,Task> hmEtapa = new HashMap<Long,Task>();
			HashMap<Long,Task> hmAtividade = new HashMap<Long,Task>();
			
			Duration duracao = null;
			Task t = null;
			t = project.addTask();
			hmProjeto.put(1L, t);
			t.setID(0);
			t.setName(proposta.getNome());
			t.setDuration(duracao.getInstance(proposta.getSumario().get(0).getTotalCicloAB(), TimeUnit.HOURS));
			t.setWork(duracao.getInstance(proposta.getSumario().get(0).getTotalCicloAB(), TimeUnit.HOURS));
			for (Iterator iterator = horas.iterator(); iterator.hasNext();) {
				HorasEntity horasItem = (HorasEntity) iterator.next();
				i=i+1;
				
				duracao = null;
				 t = null;
				
				if (horasItem.isCiclo()) {
					 t = hmCiclo.get(horasItem.getCodCiclo());
					 if (t==null) {
						 //t = project.addTask();
						 //hmCiclo.put(horasItem.getCodCiclo(), t);
						 
						 Task tPai = hmProjeto.get(1L);
						 t = tPai.addTask();
						 hmCiclo.put(horasItem.getCodCiclo(), t);
					 }
				}
				if (horasItem.isFase()) {
					 t = hmFase.get(horasItem.getCodFase());
					 if (t==null) {
						 Task tPai = hmCiclo.get(horasItem.getCodCiclo());
						 t = tPai.addTask();
						 hmFase.put(horasItem.getCodFase(), t);
					 }
				}
				if (horasItem.isEtapa()) {
					 t = hmEtapa.get(horasItem.getCodEtapa());
					 if (t==null) {
						 Task tPai = hmFase.get(horasItem.getCodFase());
						 t = tPai.addTask();
						 hmEtapa.put(horasItem.getCodEtapa(), t);
					 }
				}
				if (horasItem.isAtividade()) {
					 t = hmAtividade.get(horasItem.getCodAtividade());
					 if (t==null) {
						 Task tPai = hmEtapa.get(horasItem.getCodEtapa());
						 t = tPai.addTask();
						 hmAtividade.put(horasItem.getCodAtividade(), t);
					 }
				}
				
				
				t.setID(i);
				t.setName(horasItem.getDescricao());
				if (horasItem.getHoraUsuario()!=null){
					t.setDuration(duracao.getInstance(horasItem.getHoraUsuario(), TimeUnit.HOURS));
					t.setWork(duracao.getInstance(horasItem.getHoraUsuario(), TimeUnit.HOURS));
					
				}else{
					t.setDuration(duracao.getInstance(0d, TimeUnit.HOURS));
					
				}
				
			}
			
			
			
			
			//*************************Disponibilizar aquivo para Download****************************************************
			FacesContext facesContext = FacesContext.getCurrentInstance();
			ExternalContext context = facesContext.getExternalContext();
			
			String filename =  proposta.getNome()+".mpx";
			String mimeType = "application/vnd.ms-project";
			HttpServletResponse response = (HttpServletResponse)  context.getResponse();
			response.setHeader("Content-Disposition", "attachment;filename=\""
					+ filename + "\""); // aki eu seto o header e o nome q vai
										// aparecer na hr do donwload
			response.setContentType(mimeType); // e obviamente o tipo

			try {
				OutputStream out = response.getOutputStream();
				MPXWriter writer = new MPXWriter();
    		  	writer.setLocale(new Locale("pt","BR"));
	             
				writer.write(project, out);
				out.flush();
				out.close();
				facesContext.responseComplete();
			} catch (IOException ex) {
				PlcMsgJsfHelper.getInstance().msg("erro.download",PlcConstantes.MSG.IND_COR_MENSAGEM_VALORES.IND_AMARELO);
			}
		
	      }   
	  
	      catch (Exception ex)   
	      {   
	         ex.printStackTrace(System.out);   
	      }   
	}

Será que alguém pode me ajudar!!

Desde já agradeço a todos!!!!

5 Respostas

danielbb

Alguém???

danielbb

…?

W

Isso é um problema no Windows. Perceba que no Windows Seven não ocorre este erro.

Siga as configuraçoes que estão no arquivo.

danielbb

obrigado, era isso mesmo!! vlw

W

De nada, no que precisar é só dar um toque…

Criado 22 de julho de 2010
Ultima resposta 23 de nov. de 2010
Respostas 5
Participantes 2