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