summaryrefslogtreecommitdiff
path: root/wizards/com/sun/star/wizards/common/FileAccess.java
diff options
context:
space:
mode:
Diffstat (limited to 'wizards/com/sun/star/wizards/common/FileAccess.java')
-rw-r--r--wizards/com/sun/star/wizards/common/FileAccess.java531
1 files changed, 319 insertions, 212 deletions
diff --git a/wizards/com/sun/star/wizards/common/FileAccess.java b/wizards/com/sun/star/wizards/common/FileAccess.java
index e464e8f8a705..ffa23b51baae 100644
--- a/wizards/com/sun/star/wizards/common/FileAccess.java
+++ b/wizards/com/sun/star/wizards/common/FileAccess.java
@@ -1,5 +1,5 @@
/*************************************************************************
-*
+ *
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
*
* Copyright 2008 by Sun Microsystems, Inc.
@@ -27,7 +27,6 @@
* for a copy of the LGPLv3 License.
*
************************************************************************/
-
package com.sun.star.wizards.common;
import com.sun.star.beans.XPropertySet;
@@ -61,7 +60,8 @@ import com.sun.star.util.DateTime;
* conveneince methods for using them.
* These Convenince methods include mainly Exception-handling.
*/
-public class FileAccess {
+public class FileAccess
+{
/**
*
@@ -69,7 +69,8 @@ public class FileAccess {
* @param sPath
* @param sAddPath
*/
- public static void addOfficePath(XMultiServiceFactory xMSF, String sPath, String sAddPath) {
+ public static void addOfficePath(XMultiServiceFactory xMSF, String sPath, String sAddPath)
+ {
XSimpleFileAccess xSimpleFileAccess = null;
String ResultPath = getOfficePath(xMSF, sPath, xSimpleFileAccess);
// As there are several conventions about the look of Url (e.g. with " " or with "%20") you cannot make a
@@ -82,10 +83,12 @@ public class FileAccess {
// sAddPath.replace(null, (char) 47);
String CompAddPath = JavaTools.replaceSubString(sAddPath, "", "/");
String CurPath;
- for (int i = 0; i <= MaxIndex; i++) {
+ for (int i = 0; i <= MaxIndex; i++)
+ {
CurPath = JavaTools.convertfromURLNotation(PathList[i]);
CompCurPath = JavaTools.replaceSubString(CurPath, "", "/");
- if (CompCurPath.equals(CompAddPath)) {
+ if (CompCurPath.equals(CompAddPath))
+ {
return;
}
}
@@ -93,10 +96,11 @@ public class FileAccess {
return;
}
- public static String deleteLastSlashfromUrl(String _sPath){
+ public static String deleteLastSlashfromUrl(String _sPath)
+ {
if (_sPath.endsWith("/"))
{
- return _sPath.substring(0, _sPath.length()-1);
+ return _sPath.substring(0, _sPath.length() - 1);
}
else
{
@@ -104,79 +108,89 @@ public class FileAccess {
}
}
-
/**
- * Further information on arguments value see in OO Developer Guide,
- * chapter 6.2.7
- * @param xMSF
- * @param sPath
- * @param xSimpleFileAccess
- * @return the respective path of the office application. A probable following "/" at the end is trimmed.
- */
- public static String getOfficePath(XMultiServiceFactory xMSF, String sPath, XSimpleFileAccess xSimpleFileAccess) {
- try {
+ * Further information on arguments value see in OO Developer Guide,
+ * chapter 6.2.7
+ * @param xMSF
+ * @param sPath
+ * @param xSimpleFileAccess
+ * @return the respective path of the office application. A probable following "/" at the end is trimmed.
+ */
+ public static String getOfficePath(XMultiServiceFactory xMSF, String sPath, XSimpleFileAccess xSimpleFileAccess)
+ {
+ try
+ {
String ResultPath = "";
XInterface xInterface = (XInterface) xMSF.createInstance("com.sun.star.util.PathSettings");
ResultPath = com.sun.star.uno.AnyConverter.toString(Helper.getUnoPropertyValue(xInterface, sPath));
ResultPath = deleteLastSlashfromUrl(ResultPath);
return ResultPath;
- } catch (Exception exception) {
+ }
+ catch (Exception exception)
+ {
exception.printStackTrace(System.out);
return "";
}
}
-
/**
- * Further information on arguments value see in OO Developer Guide,
- * chapter 6.2.7
- * @param sType use "share" or "user". Set to "" if not needed eg for the WorkPath;
- * In the return Officepath a possible slash at the end is cut off
- */
-
- public static String getOfficePath(XMultiServiceFactory xMSF, String sPath, String sType, String sSearchDir) throws NoValidPathException {
+ * Further information on arguments value see in OO Developer Guide,
+ * chapter 6.2.7
+ * @param sType use "share" or "user". Set to "" if not needed eg for the WorkPath;
+ * In the return Officepath a possible slash at the end is cut off
+ */
+ public static String getOfficePath(XMultiServiceFactory xMSF, String sPath, String sType, String sSearchDir) throws NoValidPathException
+ {
//This method currently only works with sPath="Template"
String ResultPath = "";
String Template_writable = "";
- String [] Template_internal;
- String [] Template_user;
+ String[] Template_internal;
+ String[] Template_user;
boolean bexists = false;
- try {
+ try
+ {
XInterface xPathInterface = (XInterface) xMSF.createInstance("com.sun.star.util.PathSettings");
XPropertySet xPropertySet = (XPropertySet) com.sun.star.uno.UnoRuntime.queryInterface(XPropertySet.class, xPathInterface);
String WritePath = "";
- String [] ReadPaths = null;
+ String[] ReadPaths = null;
XInterface xUcbInterface = (XInterface) xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, xUcbInterface);
- Template_writable = (String) xPropertySet.getPropertyValue(sPath+"_writable");
- Template_internal = (String []) xPropertySet.getPropertyValue(sPath+"_internal");
- Template_user = (String []) xPropertySet.getPropertyValue(sPath+"_user");
+ Template_writable = (String) xPropertySet.getPropertyValue(sPath + "_writable");
+ Template_internal = (String[]) xPropertySet.getPropertyValue(sPath + "_internal");
+ Template_user = (String[]) xPropertySet.getPropertyValue(sPath + "_user");
int iNumEntries = Template_user.length + Template_internal.length + 1;
ReadPaths = new String[iNumEntries];
- int t=0;
- for (int i=0; i<Template_internal.length; i++) {
+ int t = 0;
+ for (int i = 0; i < Template_internal.length; i++)
+ {
ReadPaths[t] = Template_internal[i];
t++;
}
- for (int i=0; i<Template_user.length; i++) {
+ for (int i = 0; i < Template_user.length; i++)
+ {
ReadPaths[t] = Template_user[i];
t++;
}
ReadPaths[t] = Template_writable;
WritePath = Template_writable;
- if (sType.equalsIgnoreCase("user")) {
+ if (sType.equalsIgnoreCase("user"))
+ {
ResultPath = WritePath;
bexists = true;
- } else {
+ }
+ else
+ {
//find right path using the search sub path
- for (int i = 0; i<ReadPaths.length; i++) {
- String tmpPath = ReadPaths[i]+sSearchDir;
- if (xSimpleFileAccess.exists(tmpPath)) {
+ for (int i = 0; i < ReadPaths.length; i++)
+ {
+ String tmpPath = ReadPaths[i] + sSearchDir;
+ if (xSimpleFileAccess.exists(tmpPath))
+ {
ResultPath = ReadPaths[i];
bexists = true;
break;
@@ -184,7 +198,9 @@ public class FileAccess {
}
}
ResultPath = deleteLastSlashfromUrl(ResultPath);
- } catch (Exception exception) {
+ }
+ catch (Exception exception)
+ {
exception.printStackTrace(System.out);
ResultPath = "";
}
@@ -195,19 +211,21 @@ public class FileAccess {
return ResultPath;
}
- public static ArrayList getOfficePaths(XMultiServiceFactory xMSF, String _sPath, String sType, String sSearchDir) throws NoValidPathException {
+ public static ArrayList getOfficePaths(XMultiServiceFactory xMSF, String _sPath, String sType, String sSearchDir) throws NoValidPathException
+ {
//This method currently only works with sPath="Template"
// String ResultPath = "";
ArrayList aPathList = new ArrayList();
String Template_writable = "";
- String [] Template_internal;
- String [] Template_user;
+ String[] Template_internal;
+ String[] Template_user;
// String [] ReadPaths = null;
// boolean bexists = false;
- try {
+ try
+ {
XInterface xPathInterface = (XInterface) xMSF.createInstance("com.sun.star.util.PathSettings");
XPropertySet xPropertySet = (XPropertySet) com.sun.star.uno.UnoRuntime.queryInterface(XPropertySet.class, xPathInterface);
// String WritePath = "";
@@ -215,11 +233,11 @@ public class FileAccess {
// XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, xUcbInterface);
Template_writable = (String) xPropertySet.getPropertyValue(_sPath + "_writable");
- Template_internal = (String []) xPropertySet.getPropertyValue(_sPath + "_internal");
- Template_user = (String []) xPropertySet.getPropertyValue(_sPath + "_user");
+ Template_internal = (String[]) xPropertySet.getPropertyValue(_sPath + "_internal");
+ Template_user = (String[]) xPropertySet.getPropertyValue(_sPath + "_user");
// int iNumEntries = Template_user.length + Template_internal.length + 1;
- for (int i=0; i<Template_internal.length; i++)
+ for (int i = 0; i < Template_internal.length; i++)
{
String sPath = Template_internal[i];
if (sPath.startsWith("vnd."))
@@ -235,12 +253,12 @@ public class FileAccess {
aPathList.add(sPath);
}
- for (int i=0; i<Template_user.length; i++)
+ for (int i = 0; i < Template_user.length; i++)
{
aPathList.add(Template_user[i]);
}
aPathList.add(Template_writable);
- // WritePath = Template_writable;
+ // WritePath = Template_writable;
// if (sType.equalsIgnoreCase("user"))
// {
@@ -248,7 +266,7 @@ public class FileAccess {
// bexists = true;
// }
- // There was a bug here, because we have to search through the whole list of paths
+ // There was a bug here, because we have to search through the whole list of paths
// else
// {
// //find right path using the search sub path
@@ -268,7 +286,7 @@ public class FileAccess {
catch (Exception exception)
{
exception.printStackTrace(System.out);
- // ResultPath = "";
+ // ResultPath = "";
}
// if (bexists == false)
// {
@@ -283,7 +301,7 @@ public class FileAccess {
try
{
Object defaults = _xMSF.createInstance("com.sun.star.text.Defaults");
- Locale aLocale = (Locale) Helper.getUnoStructValue(defaults, "CharLocale");
+ Locale aLocale = (Locale) Helper.getUnoStructValue(defaults, "CharLocale");
if (aLocale == null)
{
java.util.Locale.getDefault();
@@ -294,8 +312,8 @@ public class FileAccess {
}
String sLanguage = aLocale.Language;
- String sCountry = aLocale.Country;
- String sVariant = aLocale.Variant;
+ String sCountry = aLocale.Country;
+ String sVariant = aLocale.Variant;
// de-DE-Bayrisch
StringBuffer aLocaleAll = new StringBuffer();
@@ -342,8 +360,8 @@ public class FileAccess {
return sPath;
}
- // java.util.Locale jl = new java.util.Locale(
- // l.Language , l.Country, l.Variant );
+ // java.util.Locale jl = new java.util.Locale(
+ // l.Language , l.Country, l.Variant );
}
catch (com.sun.star.uno.Exception e)
{
@@ -354,52 +372,51 @@ public class FileAccess {
/*
public static String getOfficePath(XMultiServiceFactory xMSF, String sPath, String sType) throws NoValidPathException {
- String ResultPath = "";
- Object oPathSettings;
- int iPathCount;
- String[] PathList;
- boolean bexists = false;
- try {
- XInterface xUcbInterface = (XInterface) xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
- XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, xUcbInterface);
- ResultPath = getOfficePath(xMSF, sPath, xSimpleFileAccess);
- PathList = JavaTools.ArrayoutofString(ResultPath, ";");
- if (!sType.equals("")) {
- ResultPath = "";
- String CurPath = "";
- String EndString = "/" + sType;
- int EndLength = EndString.length();
- sType = "/" + sType + "/";
- int MaxIndex = PathList.length - 1;
- int iPos;
- for (int i = 0; i <= MaxIndex; i++) {
- CurPath = PathList[i];
- iPos = CurPath.length() - EndLength;
- if ((CurPath.indexOf(sType) > 0) || (CurPath.indexOf(EndString) == iPos)) {
- ResultPath = deleteLastSlashfromUrl(CurPath);
- if (xSimpleFileAccess.exists(ResultPath))
- break;
- }
- }
- } else
- ResultPath = PathList[0];
- if (ResultPath.equals("") == false)
- bexists = xSimpleFileAccess.exists(ResultPath);
- } catch (Exception exception) {
- exception.printStackTrace(System.out);
- ResultPath = "";
- }
- if (bexists == false)
- throw new NoValidPathException(xMSF);
- return ResultPath;
+ String ResultPath = "";
+ Object oPathSettings;
+ int iPathCount;
+ String[] PathList;
+ boolean bexists = false;
+ try {
+ XInterface xUcbInterface = (XInterface) xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
+ XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, xUcbInterface);
+ ResultPath = getOfficePath(xMSF, sPath, xSimpleFileAccess);
+ PathList = JavaTools.ArrayoutofString(ResultPath, ";");
+ if (!sType.equals("")) {
+ ResultPath = "";
+ String CurPath = "";
+ String EndString = "/" + sType;
+ int EndLength = EndString.length();
+ sType = "/" + sType + "/";
+ int MaxIndex = PathList.length - 1;
+ int iPos;
+ for (int i = 0; i <= MaxIndex; i++) {
+ CurPath = PathList[i];
+ iPos = CurPath.length() - EndLength;
+ if ((CurPath.indexOf(sType) > 0) || (CurPath.indexOf(EndString) == iPos)) {
+ ResultPath = deleteLastSlashfromUrl(CurPath);
+ if (xSimpleFileAccess.exists(ResultPath))
+ break;
+ }
+ }
+ } else
+ ResultPath = PathList[0];
+ if (ResultPath.equals("") == false)
+ bexists = xSimpleFileAccess.exists(ResultPath);
+ } catch (Exception exception) {
+ exception.printStackTrace(System.out);
+ ResultPath = "";
+ }
+ if (bexists == false)
+ throw new NoValidPathException(xMSF);
+ return ResultPath;
}
**/
-
public static void combinePaths(XMultiServiceFactory xMSF, ArrayList _aFirstPath, String _sSecondPath) throws NoValidPathException
{
- for (int i=0;i<_aFirstPath.size();i++)
+ for (int i = 0; i < _aFirstPath.size(); i++)
{
- String sOnePath = (String)_aFirstPath.get(i);
+ String sOnePath = (String) _aFirstPath.get(i);
sOnePath = addPath(sOnePath, _sSecondPath);
if (isPathValid(xMSF, sOnePath))
{
@@ -429,7 +446,8 @@ public class FileAccess {
return bExists;
}
- public static String combinePaths(XMultiServiceFactory xMSF, String _sFirstPath, String _sSecondPath) throws NoValidPathException {
+ public static String combinePaths(XMultiServiceFactory xMSF, String _sFirstPath, String _sSecondPath) throws NoValidPathException
+ {
boolean bexists = false;
String ReturnPath = "";
try
@@ -451,11 +469,14 @@ public class FileAccess {
return ReturnPath;
}
- public static boolean createSubDirectory(XMultiServiceFactory xMSF, XSimpleFileAccess xSimpleFileAccess, String Path) {
+ public static boolean createSubDirectory(XMultiServiceFactory xMSF, XSimpleFileAccess xSimpleFileAccess, String Path)
+ {
String sNoDirCreation = "";
- try {
+ try
+ {
Resource oResource = new Resource(xMSF, "ImportWizard", "imp");
- if (oResource != null) {
+ if (oResource != null)
+ {
sNoDirCreation = oResource.getResText(1050);
String sMsgDirNotThere = oResource.getResText(1051);
String sQueryForNewCreation = oResource.getResText(1052);
@@ -463,17 +484,22 @@ public class FileAccess {
String sQueryMessage = JavaTools.replaceSubString(sMsgDirNotThere, OSPath, "%1");
sQueryMessage = sQueryMessage + (char) 13 + sQueryForNewCreation;
int icreate = SystemDialog.showMessageBox(xMSF, "QueryBox", VclWindowPeerAttribute.YES_NO, sQueryMessage);
- if (icreate == 2) {
+ if (icreate == 2)
+ {
xSimpleFileAccess.createFolder(Path);
return true;
}
}
return false;
- } catch (com.sun.star.ucb.CommandAbortedException exception) {
+ }
+ catch (com.sun.star.ucb.CommandAbortedException exception)
+ {
String sMsgNoDir = JavaTools.replaceSubString(sNoDirCreation, Path, "%1");
SystemDialog.showMessageBox(xMSF, "ErrorBox", VclWindowPeerAttribute.OK, sMsgNoDir);
return false;
- } catch (com.sun.star.uno.Exception unoexception) {
+ }
+ catch (com.sun.star.uno.Exception unoexception)
+ {
String sMsgNoDir = JavaTools.replaceSubString(sNoDirCreation, Path, "%1");
SystemDialog.showMessageBox(xMSF, "ErrorBox", VclWindowPeerAttribute.OK, sMsgNoDir);
return false;
@@ -482,8 +508,10 @@ public class FileAccess {
// checks if the root of a path exists. if the parameter xWindowPeer is not null then also the directory is
// created when it does not exists and the user
- public static boolean PathisValid(XMultiServiceFactory xMSF, String Path, String sMsgFilePathInvalid, boolean baskbeforeOverwrite) {
- try {
+ public static boolean PathisValid(XMultiServiceFactory xMSF, String Path, String sMsgFilePathInvalid, boolean baskbeforeOverwrite)
+ {
+ try
+ {
String SubDir;
String SubDirPath = "";
int SubLen;
@@ -495,8 +523,10 @@ public class FileAccess {
String NewPath = Path;
XInterface xInterface = (XInterface) xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, xInterface);
- if (baskbeforeOverwrite) {
- if (xSimpleFileAccess.exists(Path)) {
+ if (baskbeforeOverwrite)
+ {
+ if (xSimpleFileAccess.exists(Path))
+ {
Resource oResource = new Resource(xMSF, "ImportWizard", "imp");
String sFileexists = oResource.getResText(1053);
String NewString = JavaTools.convertfromURLNotation(Path);
@@ -511,25 +541,31 @@ public class FileAccess {
}
String[] DirArray = JavaTools.ArrayoutofString(Path, "/");
int MaxIndex = DirArray.length - 1;
- if (MaxIndex > 0) {
- for (int i = MaxIndex; i >= 0; i--) {
+ if (MaxIndex > 0)
+ {
+ for (int i = MaxIndex; i >= 0; i--)
+ {
SubDir = DirArray[i];
SubLen = SubDir.length();
NewLen = NewPath.length();
RestLen = NewLen - SubLen;
- if (RestLen > 0) {
+ if (RestLen > 0)
+ {
NewPath = NewPath.substring(0, NewLen - SubLen - 1);
if (i == MaxIndex)
{
SubDirPath = NewPath;
}
bexists = xSimpleFileAccess.exists(NewPath);
- if (bexists) {
+ if (bexists)
+ {
LowerCasePath = NewPath.toLowerCase();
bexists = (((LowerCasePath.equals("file:///")) || (LowerCasePath.equals("file://")) || (LowerCasePath.equals("file:/")) || (LowerCasePath.equals("file:"))) == false);
}
- if (bexists) {
- if (bSubDirexists == false) {
+ if (bexists)
+ {
+ if (bSubDirexists == false)
+ {
boolean bSubDiriscreated = createSubDirectory(xMSF, xSimpleFileAccess, SubDirPath);
return bSubDiriscreated;
}
@@ -544,7 +580,9 @@ public class FileAccess {
}
SystemDialog.showMessageBox(xMSF, "ErrorBox", VclWindowPeerAttribute.OK, sMsgFilePathInvalid);
return false;
- } catch (com.sun.star.uno.Exception exception) {
+ }
+ catch (com.sun.star.uno.Exception exception)
+ {
exception.printStackTrace(System.out);
SystemDialog.showMessageBox(xMSF, "ErrorBox", VclWindowPeerAttribute.OK, sMsgFilePathInvalid);
return false;
@@ -561,10 +599,11 @@ public class FileAccess {
* the second with the corresponding URLs.
* @deprecated please use the getFolderTitles() with ArrayList
*/
-
- public static String[][] getFolderTitles(com.sun.star.lang.XMultiServiceFactory xMSF, String FilterName, String FolderName) {
+ public static String[][] getFolderTitles(com.sun.star.lang.XMultiServiceFactory xMSF, String FilterName, String FolderName)
+ {
String[][] LocLayoutFiles = new String[2][]; //{"",""}{""};
- try {
+ try
+ {
java.util.Vector TitleVector = null;
java.util.Vector NameVector = null;
@@ -582,10 +621,12 @@ public class FileAccess {
FilterName = FilterName == null || FilterName.equals("") ? null : FilterName + "-";
String fileName = "";
- for (int i = 0; i < nameList.length; i++) {
- fileName = getFilename( nameList[i] );
+ for (int i = 0; i < nameList.length; i++)
+ {
+ fileName = getFilename(nameList[i]);
- if (FilterName == null || fileName.startsWith(FilterName)) {
+ if (FilterName == null || fileName.startsWith(FilterName))
+ {
xDocInfo.loadFromURL(nameList[i]);
NameVector.addElement(nameList[i]);
@@ -602,19 +643,20 @@ public class FileAccess {
LocLayoutFiles[0] = LocTitleList;
JavaTools.bubblesortList(LocLayoutFiles);
- } catch (Exception exception) {
+ }
+ catch (Exception exception)
+ {
exception.printStackTrace(System.out);
}
return LocLayoutFiles;
}
- /**
- * We search in all given path for a given file
- * @param _sPath
- * @param _sPath2
- * @return
- */
-
+ /**
+ * We search in all given path for a given file
+ * @param _sPath
+ * @param _sPath2
+ * @return
+ */
public static String addPath(String _sPath, String _sPath2)
{
String sNewPath;
@@ -638,9 +680,9 @@ public class FileAccess {
XInterface xInterface = (XInterface) xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
com.sun.star.ucb.XSimpleFileAccess xSimpleFileAccess = (com.sun.star.ucb.XSimpleFileAccess) UnoRuntime.queryInterface(com.sun.star.ucb.XSimpleFileAccess.class, xInterface);
- for (int i=0;i<_aList.size();i++)
+ for (int i = 0; i < _aList.size(); i++)
{
- String sPath = (String)_aList.get(i);
+ String sPath = (String) _aList.get(i);
sPath = addPath(sPath, _sFile);
if (xSimpleFileAccess.exists(sPath))
{
@@ -648,20 +690,20 @@ public class FileAccess {
}
}
}
- catch(com.sun.star.uno.Exception e)
+ catch (com.sun.star.uno.Exception e)
{
}
return sFoundFile;
}
- /**
- *
- * @param xMSF
- * @param _sStartFilterName
- * @param FolderNames
- * @return
- * @throws com.sun.star.wizards.common.NoValidPathException
- */
+ /**
+ *
+ * @param xMSF
+ * @param _sStartFilterName
+ * @param FolderNames
+ * @return
+ * @throws com.sun.star.wizards.common.NoValidPathException
+ */
public static String[][] getFolderTitles(com.sun.star.lang.XMultiServiceFactory xMSF, String _sStartFilterName, ArrayList FolderNames)
throws NoValidPathException
{
@@ -767,11 +809,11 @@ public class FileAccess {
return LocLayoutFiles;
}
-
public XSimpleFileAccess2 fileAccess;
public XFileIdentifierConverter filenameConverter;
- public FileAccess(XMultiServiceFactory xmsf) throws com.sun.star.uno.Exception {
+ public FileAccess(XMultiServiceFactory xmsf) throws com.sun.star.uno.Exception
+ {
//get a simple file access...
Object fa = xmsf.createInstance("com.sun.star.ucb.SimpleFileAccess");
fileAccess = (XSimpleFileAccess2) UnoRuntime.queryInterface(XSimpleFileAccess2.class, fa);
@@ -780,31 +822,34 @@ public class FileAccess {
filenameConverter = (XFileIdentifierConverter) UnoRuntime.queryInterface(XFileIdentifierConverter.class, fcv);
}
- public String getURL(String parentPath, String childPath) {
+ public String getURL(String parentPath, String childPath)
+ {
String parent = filenameConverter.getSystemPathFromFileURL(parentPath);
File f = new File(parent, childPath);
String r = filenameConverter.getFileURLFromSystemPath(parentPath, f.getAbsolutePath());
return r;
}
- public String getURL(String path) {
+ public String getURL(String path)
+ {
File f = new File(path);
String r = filenameConverter.getFileURLFromSystemPath(
- path,f.getAbsolutePath());
+ path, f.getAbsolutePath());
return r;
}
- public String getPath(String parentURL, String childURL) {
+ public String getPath(String parentURL, String childURL)
+ {
return filenameConverter.getSystemPathFromFileURL(parentURL + (((childURL == null || childURL.equals("")) ? "" : "/" + childURL)));
}
-
/**
* @author rpiterman
* @param filename
* @return the extension of the given filename.
*/
- public static String getExtension(String filename) {
+ public static String getExtension(String filename)
+ {
int p = filename.indexOf(".");
if (p == -1)
{
@@ -826,13 +871,19 @@ public class FileAccess {
* @param s
* @return
*/
- public boolean mkdir(String s) {
- try {
+ public boolean mkdir(String s)
+ {
+ try
+ {
fileAccess.createFolder(s);
return true;
- } catch (CommandAbortedException cax) {
+ }
+ catch (CommandAbortedException cax)
+ {
cax.printStackTrace();
- } catch (com.sun.star.uno.Exception ex) {
+ }
+ catch (com.sun.star.uno.Exception ex)
+ {
ex.printStackTrace();
}
return false;
@@ -845,11 +896,17 @@ public class FileAccess {
* @return true if the given file exists or not.
* if an exception accures, returns the def value.
*/
- public boolean exists(String filename, boolean def) {
- try {
+ public boolean exists(String filename, boolean def)
+ {
+ try
+ {
return fileAccess.exists(filename);
- } catch (CommandAbortedException e) {
- } catch (Exception e) {
+ }
+ catch (CommandAbortedException e)
+ {
+ }
+ catch (Exception e)
+ {
}
return def;
@@ -860,11 +917,17 @@ public class FileAccess {
* @param filename
* @return
*/
- public boolean isDirectory(String filename) {
- try {
+ public boolean isDirectory(String filename)
+ {
+ try
+ {
return fileAccess.isFolder(filename);
- } catch (CommandAbortedException e) {
- } catch (Exception e) {
+ }
+ catch (CommandAbortedException e)
+ {
+ }
+ catch (Exception e)
+ {
}
return false;
@@ -877,11 +940,17 @@ public class FileAccess {
* @param includeFolders
* @return
*/
- public String[] listFiles(String dir, boolean includeFolders) {
- try {
+ public String[] listFiles(String dir, boolean includeFolders)
+ {
+ try
+ {
return fileAccess.getFolderContents(dir, includeFolders);
- } catch (CommandAbortedException e) {
- } catch (Exception e) {
+ }
+ catch (CommandAbortedException e)
+ {
+ }
+ catch (Exception e)
+ {
}
return new String[0];
@@ -892,13 +961,19 @@ public class FileAccess {
* @param file
* @return
*/
- public boolean delete(String file) {
- try {
+ public boolean delete(String file)
+ {
+ try
+ {
fileAccess.kill(file);
return true;
- } catch (CommandAbortedException e) {
+ }
+ catch (CommandAbortedException e)
+ {
e.printStackTrace(System.out);
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace(System.out);
}
@@ -910,7 +985,8 @@ public class FileAccess {
* @param path
* @return
*/
- public static String getFilename(String path) {
+ public static String getFilename(String path)
+ {
return getFilename(path, "/");
}
@@ -919,7 +995,8 @@ public class FileAccess {
* @param path
* @return
*/
- public static String getPathFilename(String path) {
+ public static String getPathFilename(String path)
+ {
return getFilename(path, File.separator);
}
@@ -929,16 +1006,17 @@ public class FileAccess {
* @param pathSeparator
* @return
*/
- public static String getFilename(String path, String pathSeparator) {
+ public static String getFilename(String path, String pathSeparator)
+ {
String[] s = JavaTools.ArrayoutofString(path, pathSeparator);
return s[s.length - 1];
}
-
- public static String getBasename(String path, String pathSeparator){
+ public static String getBasename(String path, String pathSeparator)
+ {
String filename = getFilename(path, pathSeparator);
String sExtension = getExtension(filename);
- String basename = filename.substring(0, filename.length()- (sExtension.length() + 1));
+ String basename = filename.substring(0, filename.length() - (sExtension.length() + 1));
return basename;
}
@@ -948,22 +1026,34 @@ public class FileAccess {
* @param target
* @return
*/
- public boolean copy(String source, String target) {
- try {
+ public boolean copy(String source, String target)
+ {
+ try
+ {
fileAccess.copy(source, target);
return true;
- } catch (CommandAbortedException e) {
- } catch (Exception e) {
+ }
+ catch (CommandAbortedException e)
+ {
+ }
+ catch (Exception e)
+ {
}
return false;
}
- public DateTime getLastModified(String url) {
- try {
+ public DateTime getLastModified(String url)
+ {
+ try
+ {
return fileAccess.getDateTimeModified(url);
- } catch (CommandAbortedException e) {
- } catch (Exception e) {
+ }
+ catch (CommandAbortedException e)
+ {
+ }
+ catch (Exception e)
+ {
}
return null;
}
@@ -974,7 +1064,8 @@ public class FileAccess {
* @return the parent dir of the given url.
* if the path points to file, gives the directory in which the file is.
*/
- public static String getParentDir(String url) {
+ public static String getParentDir(String url)
+ {
if (url.endsWith("/"))
{
return getParentDir(url.substring(0, url.length() - 1));
@@ -988,8 +1079,8 @@ public class FileAccess {
return url.substring(0, lastPos);
}
-
- public String createNewDir(String parentDir, String name) {
+ public String createNewDir(String parentDir, String name)
+ {
String s = getNewFile(parentDir, name, "");
if (mkdir(s))
{
@@ -1001,45 +1092,55 @@ public class FileAccess {
}
}
- public String getNewFile(String parentDir, String name, String extension) {
+ public String getNewFile(String parentDir, String name, String extension)
+ {
int i = 0;
String url;
- do {
+ do
+ {
String filename = filename(name, extension, i++);
String u = getURL(parentDir, filename);
url = u;
- } while (exists(url, true));
+ }
+ while (exists(url, true));
return url;
}
- private static String filename(String name, String ext, int i) {
+ private static String filename(String name, String ext, int i)
+ {
return name + (i == 0 ? "" : String.valueOf(i)) + (ext.equals("") ? "" : "." + ext);
}
- public int getSize(String url) {
- try {
+ public int getSize(String url)
+ {
+ try
+ {
return fileAccess.getSize(url);
}
- catch (Exception ex) {
+ catch (Exception ex)
+ {
return -1;
}
}
- public static String connectURLs(String urlFolder, String urlFilename) {
- return urlFolder + ( urlFolder.endsWith("/") ? "" : "/" ) +
- ( urlFilename.startsWith("/") ? urlFilename.substring(1) : urlFilename );
+ public static String connectURLs(String urlFolder, String urlFilename)
+ {
+ return urlFolder + (urlFolder.endsWith("/") ? "" : "/") +
+ (urlFilename.startsWith("/") ? urlFilename.substring(1) : urlFilename);
}
-
- public static String[] getDataFromTextFile(XMultiServiceFactory _xMSF, String _filepath){
+ public static String[] getDataFromTextFile(XMultiServiceFactory _xMSF, String _filepath)
+ {
String[] sFileData = null;
- try {
+ try
+ {
Vector oDataVector = new Vector();
Object oSimpleFileAccess = _xMSF.createInstance("com.sun.star.ucb.SimpleFileAccess");
XSimpleFileAccess xSimpleFileAccess = (XSimpleFileAccess) com.sun.star.uno.UnoRuntime.queryInterface(XSimpleFileAccess.class, oSimpleFileAccess);
- if (xSimpleFileAccess.exists(_filepath)){
+ if (xSimpleFileAccess.exists(_filepath))
+ {
XInputStream xInputStream = xSimpleFileAccess.openFileRead(_filepath);
Object oTextInputStream = _xMSF.createInstance("com.sun.star.io.TextInputStream");
XTextInputStream xTextInputStream = (XTextInputStream) UnoRuntime.queryInterface(XTextInputStream.class, oTextInputStream);
@@ -1054,7 +1155,9 @@ public class FileAccess {
oDataVector.toArray(sFileData);
}
- } catch (Exception e) {
+ }
+ catch (Exception e)
+ {
e.printStackTrace(System.out);
}
return sFileData;
@@ -1066,20 +1169,24 @@ public class FileAccess {
* @param maxLength
* @return
*/
- public static String getShortFilename(String path, int maxLength) {
+ public static String getShortFilename(String path, int maxLength)
+ {
int firstPart = 0;
- if (path.length() > maxLength) {
- if (path.startsWith("/")) { // unix
- int nextSlash = path.indexOf("/",1) + 1;
- firstPart = Math.min(nextSlash, ( maxLength - 3 ) / 2 );
+ if (path.length() > maxLength)
+ {
+ if (path.startsWith("/"))
+ { // unix
+ int nextSlash = path.indexOf("/", 1) + 1;
+ firstPart = Math.min(nextSlash, (maxLength - 3) / 2);
}
- else { //windows
- firstPart = Math.min( 10, (maxLength - 3) / 2);
+ else
+ { //windows
+ firstPart = Math.min(10, (maxLength - 3) / 2);
}
- String s1 = path.substring(0,firstPart);
- String s2 = path.substring(path.length() - (maxLength - ( 3 + firstPart)));
+ String s1 = path.substring(0, firstPart);
+ String s2 = path.substring(path.length() - (maxLength - (3 + firstPart)));
return s1 + "..." + s2;
}