Pessoal, eu segui a risca esse tutorial mudando apenas a taglib do jar la para o tomahawk, mas ele lança a exceção abaixo:
Bean:
/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/
package br.com.ciakairos.arquivos;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.security.MessageDigest;
import javax.faces.application.FacesMessage;
import javax.faces.context.FacesContext;
import org.apache.myfaces.custom.fileupload.UploadedFile;
/**
*
* @author samuel
*/
public class MyBean {
private UploadedFile myFile;
private String myParam;
private String myResult;
public UploadedFile getMyFile() {
return myFile;
}
public void setMyFile(UploadedFile myFile) {
this.myFile = myFile;
}
public String getMyParam() {
return myParam;
}
public void setMyParam(String myParam) {
this.myParam = myParam;
}
public String getMyResult() {
return myResult;
}
public void setMyResult(String myResult) {
this.myResult = myResult;
}
public String processMyFile() {
try {
MessageDigest md
= MessageDigest.getInstance(myParam);
InputStream in = new BufferedInputStream(
myFile.getInputStream());
try {
byte[] buffer = new byte[64 * 1024];
int count;
while ((count = in.read(buffer)) > 0)
md.update(buffer, 0, count);
} finally {
in.close();
}
byte hash[] = md.digest();
StringBuffer buf = new StringBuffer();
for (int i = 0; i < hash.length; i++) {
int b = hash[i] & 0xFF;
int c = (b >> 4) & 0xF;
c = c < 10 ? '0' + c : 'A' + c - 10;
buf.append((char) c);
c = b & 0xF;
c = c < 10 ? '0' + c : 'A' + c - 10;
buf.append((char) c);
}
myResult = buf.toString();
return "OK";
} catch (Exception x) {
FacesMessage message = new FacesMessage(
FacesMessage.SEVERITY_FATAL,
x.getClass().getName(), x.getMessage());
FacesContext.getCurrentInstance().addMessage(
null, message);
return null;
}
}
}
web.xml
...
<!-- Extensions Filter -->
<filter>
<filter-name>extensionsFilter</filter-name>
<filter-class>
org.apache.myfaces.component.html.util.ExtensionsFilter
</filter-class>
<init-param>
<param-name>uploadMaxFileSize</param-name>
<param-value>50m</param-value>
</init-param>
<init-param>
<param-name>uploadThresholdSize</param-name>
<param-value>100k</param-value>
</init-param>
<init-param>
<param-name>uploadRepositoryPath</param-name>
<param-value>/home/samuel/kairos-files/</param-value>
<description>Set the path where the intermediary files will be stored.
</description>
</init-param>
</filter>
...
JSF
<f:view>
<h:form id="MyForm" enctype="multipart/form-data" >
<h:messages globalOnly="true" styleClass="message"/>
<h:panelGrid columns="3" border="0" cellspacing="5">
<h:outputLabel for="myFileId" value="File: "/>
<x:inputFileUpload id="myFileId"
value="#{myBean.myFile}"
storage="file"
required="true"/>
<h:message for="myFileId"/>
<h:outputLabel for="myParamId" value="Param: "/>
<h:selectOneMenu id="myParamId"
value="#{myBean.myParam}"
required="true">
<f:selectItem itemLabel="" itemValue=""/>
<f:selectItem itemLabel="MD5" itemValue="MD5"/>
<f:selectItem itemLabel="SHA-1" itemValue="SHA-1"/>
<f:selectItem itemLabel="SHA-256" itemValue="SHA-256"/>
<f:selectItem itemLabel="SHA-384" itemValue="SHA-384"/>
<f:selectItem itemLabel="SHA-512" itemValue="SHA-512"/>
</h:selectOneMenu>
<h:message for="myParamId"/>
<h:outputText value=" "/>
<h:commandButton value="Submit"
action="#{myBean.processMyFile}"/>
<h:outputText value=" "/>
</h:panelGrid>
</h:form>
</f:view>
A tal exceção:
15/02/2008 15:53:36 com.sun.faces.lifecycle.LifecycleImpl phase
WARNING: phase(RENDER_RESPONSE 6,com.sun.faces.context.FacesContextImpl@dc64a2) threw exception: java.lang.NoClassDefFoundError: Could not initialize class org.apache.myfaces.shared_tomahawk.config.MyfacesConfig Could not initialize class org.apache.myfaces.shared_tomahawk.config.MyfacesConfig
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.writeCodeBeforeBodyEnd(ExtensionsPhaseListener.java:129)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getCodeBeforeBodyEnd(ExtensionsPhaseListener.java:104)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.getJavaScriptCodeAndStoreInRequest(ExtensionsPhaseListener.java:94)
org.apache.myfaces.renderkit.html.util.ExtensionsPhaseListener.afterPhase(ExtensionsPhaseListener.java:70)
com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:280)
com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:144)
javax.faces.webapp.FacesServlet.service(FacesServlet.java:245)
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:263)
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:584)
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
java.lang.Thread.run(Thread.java:619)
E sim, eu tenho todos o jars no meu classpath, a listar:
ant-1.6.5.jar commons-digester.jar hibernate-validator.jar jta.jar
ant-antlr-1.6.5.jar commons-io-1.4.jar jaas.jar junit-3.8.1.jar
ant-junit-1.6.5.jar commons-io-1.4-javadoc.jar jacc-1_0-fr.jar log4j-1.2.11.jar
ant-launcher-1.6.5.jar commons-io-1.4-sources.jar javassist.jar mail.jar
antlr-2.7.6.jar commons-logging-1.0.4.jar jaxen-1.1-beta-7.jar mysql-connector-java-5.1.5-bin.jar
ant-swing-1.6.5.jar commons-logging.jar jboss-archive-browsing.jar oscache-2.1.jar
asm-attrs.jar concurrent-1.3.2.jar jboss-cache.jar proxool-0.8.3.jar
asm.jar connector.jar jboss-common.jar standard.jar
c3p0-0.9.1.jar dom4j-1.6.1.jar jboss-jmx.jar swarmcache-1.0rc2.jar
cglib-2.1.3.jar ehcache-1.2.3.jar jboss-system.jar syndiag2.jar
checkstyle-all.jar ejb3-persistence.jar jdbc2_0-stdext.jar tomahawk-1.1.6.jar
cleanimports.jar hibernate3.jar jgroups-2.2.8.jar versioncheck.jar
commons-beanutils.jar hibernate-annotations.jar jsf-api.jar xerces-2.6.2.jar
commons-collections-2.1.1.jar hibernate-commons-annotations.jar jsf-impl.jar xml-apis.jar
commons-collections.jar hibernate-entitymanager.jar jstl.jar
Alguém sabe pq isso naum ta funfando?
Muito obrigado