I have problem with files stored in repository.
In first phase I import file into repository.
--------------------import-------------------------------------
Node childNode = null;
Node parentNode = getNodeById(pol.getId());
try {
String name = file.getName();
childNode = parentNode.addNode(name,"nt:unstructured");
childNode.setProperty("owner", getUserName());
childNode.addMixin("mix:referenceable");
MimeTable mt = MimeTable.getDefaultTable();
String mimeType = mt.getContentTypeFor(file.getName());
if (mimeType == null ||
mimeType.equals("application/xml")) {
if (mimeType == null) {
mimeType = "null";
}
if(name.endsWith(".doc")){
mimeType = "application/msword";
}
if(name.endsWith(".xls")){
mimeType = "application/vnd.ms-excel";
}
if(name.endsWith(".ppt")){
mimeType =
"application/vnd.ms-powerpoint";
}
if (mimeType.equals("application/xml")) {
mimeType = "text/xml";
}
if(mimeType.equals("null")){
int lenght = name.length();
mimeType = name.substring(lenght-3,
lenght);
}
}
//create the mandatory child node - jcr:content
Node resNode = childNode.addNode ("jcr:content", "nt:resource");
resNode.setProperty ("jcr:mimeType", mimeType);
resNode.setProperty ("jcr:encoding", "");
resNode.setProperty ("jcr:data", new FileInputStream (file));
Calendar lastModified = Calendar.getInstance ();
lastModified.setTimeInMillis (file.lastModified ());
resNode.setProperty ("jcr:lastModified", lastModified);
saveSession();
---------------------------end import
-----------------------------------------------
afther that I would like to open this file by Runtime.getRuntime().exec
I get this file like this
---------------------------------------export-----------------------------------
File tempDir = File.createTempFile("CMS temp", "", null);
if (tempDir.delete()) {
if (tempDir.mkdir()) {
tempDir.deleteOnExit();
//Long start = System.currentTimeMillis();
File file = null;
Node node = getNodeById(id); //my own method
session.getNodeById(id)
if (node == null) {
return null;
}
//Long end = System.currentTimeMillis();
Node resNode = getResNode(node);//my own like
Node.getNode(jcr:content)
if (hasProperty(resNode, "jcr:data")) {
try {
String name = getName(node);
String data =
resNode.getProperty("jcr:data").getValue().getString();
long lastModified =
resNode.getProperty("jcr:lastModified").getValue().getLong();
file = new
File(tempDir.getPath()+System.getProperty("file.separator")+name);
file.setLastModified(lastModified);
FileWriter writer = new
FileWriter(file);
writer.write(data, 0,
data.length()-1);
writer.close();
file.deleteOnExit();
} catch (ValueFormatException e) {
// TODO Auto-generated catch
block
e.printStackTrace();
} catch (PathNotFoundException e) {
// TODO Auto-generated catch
block
e.printStackTrace();
} catch (RepositoryException e) {
// TODO Auto-generated catch
block
e.printStackTrace();
}
}
return file;
afther that i call
File file = cmsBI.getFile(pol.getId()); //the method for export - above
Runtime.getRuntime().exec("rundll32 SHELL32.DLL,ShellExec_RunDLL
\""+file.getAbsolutePath()+"\"");
word even the excel from microsoft ofiice pack shows message like file is
damaged or bad format
where is the problem, someone can help me?
Thanks for your ideas Michal
--
View this message in context:
http://www.nabble.com/import-end-export-file-from-repository-tf3612072.html#a10094070
Sent from the Jackrabbit - Users mailing list archive at Nabble.com.