Hi,
I put a file for downloading in ../war/raw/filefordownload.apk, it works fine when ran in eclipse. But when deployed in weblogic, DataSourcesServer can not find the raw/filefordownload.apk. Anybody tell me how to solve this path issue? Thanks in advance.
Env: jdk1.7, eclipse mars, smartgwt6, gwt2.7, windows8.1
CustomBinaryFieldDataSource.java
downloadfile.ds.xml
UI CODE
Jeff
I put a file for downloading in ../war/raw/filefordownload.apk, it works fine when ran in eclipse. But when deployed in weblogic, DataSourcesServer can not find the raw/filefordownload.apk. Anybody tell me how to solve this path issue? Thanks in advance.
Env: jdk1.7, eclipse mars, smartgwt6, gwt2.7, windows8.1
CustomBinaryFieldDataSource.java
Code:
public DSResponse execute(DSRequest dsRequest) throws Exception {
DSResponse dsResponse = new DSResponse(this);
final Map<String, Object> criteria = dsRequest.getCriteria();
final Object recordId = criteria.get("id");
final String operationType = dsRequest.getOperationType();
final HttpSession httpSession = dsRequest.context.request.getSession();
if (operationType.equals("viewFile") || operationType.equals("downloadFile")) {
Map<String, Object> record22 = new HashMap<String, Object>();
byte[] filebytes = null;
try {
filebytes = getContent("raw/thirdexist200_no_ad.apk");//[B] How to fixed the path issue when deployed to weblogic?[/B]
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
record22.put("id", 1);
record22.put("file", filebytes);
record22.put("file_filename", "thirdexist200_no_ad.apk");
record22.put("file_filesize", filebytes.length);
record22.put("file_date_created", new Date());
record22.put("description", desc1);
criteria.putAll(record22);
dsResponse.setData(criteria);
} else if (operationType.equals("fetch")) {
dsResponse = this.executeFetch(dsRequest);
} else if (operationType.equals("add")) {
dsResponse = this.executeAdd(dsRequest);
} else if (operationType.equals("update")) {
dsResponse = this.executeUpdate(dsRequest);
}
return dsResponse;
}
downloadfile.ds.xml
Code:
<DataSource
ID="download_file"
serverConstructor="com.jeff.server.CustomBinaryFieldDataSource"
>
<fields>
<field name="id" type="sequence" title="ID" primaryKey="true"/>
<field name="file" type="binary" title="File"/>
</fields>
</DataSource>
UI CODE
Code:
...
downloadds = DataSource.get("download_file");
...
...
dl_android_button.addClickHandler(new ClickHandler(){
@Override
public void onClick(ClickEvent event) {
ListGridRecord selectedRecord = new ListGridRecord();
selectedRecord.setAttribute("id", "1");
downloadds.downloadFile(selectedRecord);
}
});
Jeff
Comment