packageaction;importjava.io.File;importjava.io.FileInputStream;importjava.io.FileOutputStream;importjava.io.IOException;importjava.nio.channels.FileChannel;importjava.util.ArrayList;importjavax.servlet.http.HttpServletRequest;importjavax.xml.parsers.ParserConfigurationException;importjavax.xml.parsers.SAXParser;importjavax.xml.parsers.SAXParserFactory;importorg.apache.struts2.ServletActionContext;importorg.apache.struts2.interceptor.ServletRequestAware;importorg.xml.sax.InputSource;importorg.xml.sax.SAXException;importparserxml.EventHandler;importcom.opensymphony.xwork2.ActionSupport;importcom.opensymphony.xwork2.util.OgnlValueStack;importdao.CertificacaoDao;importdao.CompetenciaDao;importdao.QuestaoDao;importentidades.Certificacao;importentidades.Competencia;importentidades.Parametro;publicclassQuestaoActionextendsActionSupportimplementsServletRequestAware{privatestaticfinallongserialVersionUID=6266088461853095687L;privateintidCertificacao;privateStringidCompetencia;//private String arquivo;privateFileupload;//The actual fileprivateStringuploadContentType;//The content type of the fileprivateStringuploadFileName;//The uploaded file nameprivateArrayList<Competencia>competencias=newArrayList<Competencia>();privateArrayList<Parametro>totalizador;privateArrayList<Certificacao>certificacoes;privateCompetenciaDaocompetenciaDao;//dependency injectionprivateQuestaoDaoquestaoDao;privateCertificacaoDaocertificacaoDao;privateHttpServletRequestrequest;privatestaticvoidcopyFile(Filein,Fileout){try{FileChannelsourceChannel=newFileInputStream(in).getChannel();FileChanneldestinationChannel=newFileOutputStream(out).getChannel();sourceChannel.transferTo(0,sourceChannel.size(),destinationChannel);sourceChannel.close();destinationChannel.close();}catch(IOExceptionex){ex.printStackTrace();}}publicStringparser()throwsException{//um parse eh criado atraves de um SAXParserFactorySAXParserparser;try{System.out.println(uploadFileName);copyFile(upload,newFile("c:\\uploads\\"+uploadFileName));parser=SAXParserFactory.newInstance().newSAXParser();//FileInputStream eh usado par InputSourceInputSourceinput=newInputSource("c:\\uploads\\"+uploadFileName);//informa para o parse qual classe vai processar os eventos: EventHandler.javaparser.parse(input,newEventHandler(idCompetencia,questaoDao));}catch(ParserConfigurationExceptione){// TODO Auto-generated catch blocke.printStackTrace();}catch(SAXExceptione){// TODO Auto-generated catch blocke.printStackTrace();}catch(IOExceptione){// TODO Auto-generated catch blocke.printStackTrace();}returnSUCCESS;}@OverridepublicStringexecute()throwsException{returnSUCCESS;}//getters e setterspublicintgetIdCertificacao(){returnidCertificacao;}publicvoidsetIdCertificacao(intidCertificacao){this.idCertificacao=idCertificacao;}publicStringgetIdCompetencia(){returnidCompetencia;}publicvoidsetIdCompetencia(StringidCompetencia){this.idCompetencia=idCompetencia;}//get e set de filepublicFilegetUpload(){returnupload;}publicvoidsetUpload(Fileupload){this.upload=upload;}publicStringgetUploadContentType(){returnuploadContentType;}publicvoidsetUploadContentType(StringuploadContentType){this.uploadContentType=uploadContentType;}publicStringgetUploadFileName(){returnuploadFileName;}publicvoidsetUploadFileName(StringuploadFileName){this.uploadFileName=uploadFileName;}/* public String getArquivo() { return arquivo; } public void setArquivo(String arquivo) { this.arquivo = arquivo; } */publicArrayList<Parametro>getTotalizador(){Stringcpf=request.getRemoteUser();totalizador=questaoDao.getTotalizadores(cpf);returntotalizador;}publicvoidsetTotalizador(ArrayList<Parametro>totalizador){this.totalizador=totalizador;}publicArrayList<Competencia>getCompetencias(){Stringcpf=request.getRemoteUser();OgnlValueStackstack=(OgnlValueStack)ServletActionContext.getValueStack(ServletActionContext.getRequest());ObjecttipoCert=stack.findValue("top");if(tipoCert!=null&&tipoCertinstanceofCertificacao){Certificacaocert=(Certificacao)tipoCert;competencias=competenciaDao.listaTodasCompetencia(cpf,cert.getId());}returncompetencias;}publicvoidsetCompetencias(ArrayList<Competencia>competencias){this.competencias=competencias;}publicArrayList<Certificacao>getCertificacoes(){//apenas as certificacoes do gestorStringcpf=request.getRemoteUser();certificacoes=certificacaoDao.listaTodosCertificacao(cpf);returncertificacoes;}publicvoidsetCertificacoes(ArrayList<Certificacao>certificacoes){this.certificacoes=certificacoes;}publicCompetenciaDaogetCompetenciaDao(){returncompetenciaDao;}publicvoidsetCompetenciaDao(CompetenciaDaocompetenciaDao){this.competenciaDao=competenciaDao;}publicQuestaoDaogetQuestaoDao(){returnquestaoDao;}publicvoidsetQuestaoDao(QuestaoDaoquestaoDao){this.questaoDao=questaoDao;}publicCertificacaoDaogetCertificacaoDao(){returncertificacaoDao;}publicvoidsetCertificacaoDao(CertificacaoDaocertificacaoDao){this.certificacaoDao=certificacaoDao;}@OverridepublicvoidsetServletRequest(HttpServletRequestarg0){request=arg0;}}
fiaux
Pô cara, e a exception, rola onde?
– edit Foi mal, não vi que você disse a linha.
fiaux
Aparentemente, tá certo. Já rodou em debug, botando breakpoint no setUpload?