File uploading Problem with modelPanel
shwetank Sep 22, 2010 4:52 PMHi ,
I am tring to upload a file than File Uploading successfully but ModelPanel not hidding .
Code is there
<a:outputPanel id="commonPanel">
<rich:modalPanel id="commonMp" styleClass="modalPanel" top="10"
keepVisualState="#{manageMasterMaintenanceJob.showOverlay}"
autosized="true" minWidth="600" minHeight="100"
style="background-image: url('../img/overlayBg.png');background-repeat: repeat;background-color: transparent;"
shadowDepth="#{messages.valShadowDepth}"
headerClass="modalPanel-header" controlsClass="modalPanel-controls">
<f:facet name="header">
<h:outputText value="#{manageMasterMaintenanceJob.modelPanelHead}" />
</f:facet>
<f:facet name="controls">
<a:form ajaxSubmit="true" id="closeLayer">
<a:commandLink action="#{manageMasterMaintenanceJob.closeLayer}"
oncomplete="Richfaces.hideModalPanel('commonMp')">
<h:graphicImage value="/img/closeButton.png" alt="X" border="0" />
</a:commandLink>
</a:form>
</f:facet>
<h:panelGrid styleClass="modalPanel-panelGrid">
<h:message styleClass="message" for="commonPanel"
style="color:red;" />
<h:form enctype="multipart/form-data">
<h:panelGrid columns="1" columnClasses="name"
rendered="#{manageMasterMaintenanceJob.formToLoad=='uploadHowToFileForm'}"
styleClass="panelGrid">
<s:div styleClass="modalPanel-panelGrid-container-div">
<h:panelGrid styleClass="modalPanel-panelGrid">
<h:panelGrid columns="1" border="0"
columnClasses="formLabel,formValue" rowClasses="formLabel">
<s:decorate id="UploadedFileName"
rendered="#{manageMasterMaintenanceJob.uploadedFile!= null}"
template="../layout/edit.xhtml">
<ui:define name="label">#{messages.lblUploadedHowToFile}: </ui:define>
<h:outputText
value="#{manageMasterMaintenanceJob.uploadedFile}"
rendered="#{manageMasterMaintenanceJob.uploadedFile!= null}" />
</s:decorate>
<s:decorate id="UploadFileName"
template="../layout/edit.xhtml">
<ui:define name="label">#{messages.lblUploadHowToFile}</ui:define>
<s:fileUpload id="howtofile"
data="#{manageMasterMaintenanceJob.fileData}"
fileName="#{manageMasterMaintenanceJob.fileName}"
style="height:20px;" required="true"
requiredMessage="#{messages['message.required.maintenanceJobType.uploadHowToFile']}" />
</s:decorate>
<h:commandButton value="#{messages.btnUpload}"
action="#{manageMasterMaintenanceJob.persistHowToFile}" >
<a:support event="onclick" reRender="commonPanel" data="#{facesContext.maximumSeverity.ordinal == 0}"
oncomplete="if(data == true) Richfaces.hideModalPanel('commonMp');"
action="#{manageMasterMaintenanceJob.closeLayer}"
/>
</h:commandButton>
</h:panelGrid>
</h:panelGrid>
</s:div>
</h:panelGrid>
</h:form>
</h:panelGrid>
</rich:modalPanel>
</a:outputPanel>JAVA Code
@Begin(join = true)
public void persistHowToFile() {
log.info("Entering persistHowToFile() method");
log.info("File Name: " + fileName);
log.info("master job id: " + mJobId);
this.masterJob = entityManager.find(MasterJob.class, mJobId);
try {
if (fileName.equals("") || fileData.length == 0) {
//facesMessages.addFromResourceBundle("message.masterJobFile.select.file");
log.info("enter to check null file name");
// facesMessages.addToControlFromResourceBundle("commonPanel", "message.required.masterMaintenanceJob.uploadHowToFile");
facesMessages.addFromResourceBundle(javax.faces.application.FacesMessage.SEVERITY_ERROR,
"message.required.masterMaintenanceJob.uploadHowToFile");
//showOverlay = true;
}
else {
Integer extPos;
extPos = fileName.lastIndexOf(".");
String startName = fileName.substring(0, extPos);
String fileType = fileName.substring(extPos);
log.info("before validating fileType Type: " + fileType);
/*
* if ((fileType.equalsIgnoreCase(".jpg")) ||
* (fileType.equalsIgnoreCase(".png")) || (fileType.equals(".bmp")) ||
* (fileType.equals(".jpeg"))) {
*/
log.info("After validating fileType");
StringBuffer dirName = new StringBuffer("");
SeamResourceBundle sRB = new SeamResourceBundle();
// getting path from resource bundle
dirName.append(sRB.getString("uploaded_files"));
// dirName.append("masterJobFile");
dirName.append(startName);
dirName.append(masterJob.getImasterJobId());
dirName.append(fileType);
File saveTo = new File(dirName.toString());
log.info("before writing");
log.info("File Data : " + fileData);
// Writing file
FileOutputStream writer = new FileOutputStream(saveTo);
writer.write(fileData);
// new file name
// fileName = "companyLogo" + masterJob.getImasterJobId() + fileType;
// setting companyLogo
masterJob.setStrHowToLocation(fileName);
log.info("#########added file name : " + masterJob.getStrHowToLocation());
// peristing company logo
entityManager.merge(masterJob);
facesMessages.addFromResourceBundle(javax.faces.application.FacesMessage.SEVERITY_INFO,
"message.add.masterJob.uploadHowToFile.successful");
showOverlay = false;
/*
* } else { facesMessages
* .addFromResourceBundle("message.companyLogo.wrong.extention");
* log.info("extention validation failed"); }
*/
}
}
catch (Exception e) {
log.info("Exception===" + e.getMessage());
ctx.setRollbackOnly();
}
}public void closeLayer() {
log.info("Entering closeLayer() method");
showOverlay = false;
}Regards,
Ambrish