INTEGRATION: CWS sdk08 (1.17.20); FILE MERGED
2003/10/02 16:02:14 jsc 1.17.20.1: #106565# generate temp files always, rename complete files
This commit is contained in:
@@ -2,9 +2,9 @@
|
|||||||
*
|
*
|
||||||
* $RCSfile: javatype.cxx,v $
|
* $RCSfile: javatype.cxx,v $
|
||||||
*
|
*
|
||||||
* $Revision: 1.17 $
|
* $Revision: 1.18 $
|
||||||
*
|
*
|
||||||
* last change: $Author: hr $ $Date: 2003-03-19 15:53:45 $
|
* last change: $Author: obo $ $Date: 2003-10-20 13:09:48 $
|
||||||
*
|
*
|
||||||
* The Contents of this file are made available subject to the terms of
|
* The Contents of this file are made available subject to the terms of
|
||||||
* either of the following licenses
|
* either of the following licenses
|
||||||
@@ -109,18 +109,45 @@ sal_Bool JavaType::dump(JavaOptions* pOptions)
|
|||||||
if (pOptions->isValid("-O"))
|
if (pOptions->isValid("-O"))
|
||||||
outPath = pOptions->getOption("-O");
|
outPath = pOptions->getOption("-O");
|
||||||
|
|
||||||
OString fileName = createFileNameFromType(outPath, m_typeName, ".java");
|
OString sFileName = createFileNameFromType(outPath, m_typeName, ".java");
|
||||||
|
sal_Bool bFileExists = fileExists( sFileName );
|
||||||
|
sal_Bool bFileCheck = sal_False;
|
||||||
|
|
||||||
FileStream javaFile(fileName);
|
if ( bFileExists && pOptions->isValid("-G") )
|
||||||
|
return sal_True;
|
||||||
|
|
||||||
|
if ( bFileExists && pOptions->isValid("-Gc") )
|
||||||
|
bFileCheck = sal_True;
|
||||||
|
|
||||||
|
OString sTmpDir = getTempDir(sFileName);
|
||||||
|
FileStream javaFile;
|
||||||
|
javaFile.createTempFile(sTmpDir);
|
||||||
|
OString sTmpFileName;
|
||||||
|
|
||||||
if(!javaFile.isValid())
|
if(!javaFile.isValid())
|
||||||
{
|
{
|
||||||
OString message("cannot open ");
|
OString message("cannot open ");
|
||||||
message += fileName + " for writing";
|
message += sFileName + " for writing";
|
||||||
throw CannotDumpException(message);
|
throw CannotDumpException(message);
|
||||||
|
} else
|
||||||
|
sTmpFileName = javaFile.getName();
|
||||||
|
|
||||||
|
ret = dumpFile(javaFile);
|
||||||
|
|
||||||
|
javaFile.close();
|
||||||
|
|
||||||
|
if (ret) {
|
||||||
|
ret = makeValidTypeFile(sFileName, sTmpFileName, bFileCheck);
|
||||||
|
} else {
|
||||||
|
// remove existing type file if something goes wrong to ensure consistency
|
||||||
|
if (fileExists(sFileName))
|
||||||
|
removeTypeFile(sFileName);
|
||||||
|
|
||||||
|
// remove tmp file if something goes wrong
|
||||||
|
removeTypeFile(sTmpFileName);
|
||||||
}
|
}
|
||||||
|
|
||||||
return dumpFile(javaFile);
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
sal_Bool JavaType::dumpDependedTypes(JavaOptions* pOptions)
|
sal_Bool JavaType::dumpDependedTypes(JavaOptions* pOptions)
|
||||||
@@ -1262,9 +1289,16 @@ sal_Bool ModuleType::dump(JavaOptions* pOptions)
|
|||||||
OString fieldName;
|
OString fieldName;
|
||||||
OString fieldType;
|
OString fieldType;
|
||||||
OString fileName;
|
OString fileName;
|
||||||
|
OString sTmpDir;
|
||||||
|
OString sTmpFileName;
|
||||||
|
sal_Bool ret;
|
||||||
|
sal_Bool bFileExists;
|
||||||
|
sal_Bool bFileCheck;
|
||||||
|
|
||||||
for (sal_uInt16 i=0; i < fieldCount; i++)
|
for (sal_uInt16 i=0; i < fieldCount; i++)
|
||||||
{
|
{
|
||||||
|
ret = sal_False;
|
||||||
|
bFileCheck = sal_False;
|
||||||
access = m_reader.getFieldAccess(i);
|
access = m_reader.getFieldAccess(i);
|
||||||
|
|
||||||
if (access == RT_ACCESS_CONST)
|
if (access == RT_ACCESS_CONST)
|
||||||
@@ -1273,14 +1307,24 @@ sal_Bool ModuleType::dump(JavaOptions* pOptions)
|
|||||||
fieldType = m_reader.getFieldType(i);
|
fieldType = m_reader.getFieldType(i);
|
||||||
|
|
||||||
fileName = createFileNameFromType(outPath, m_typeName + "/" + fieldName, ".java");
|
fileName = createFileNameFromType(outPath, m_typeName + "/" + fieldName, ".java");
|
||||||
FileStream o(fileName);
|
bFileExists = fileExists(fileName);
|
||||||
|
if ( bFileExists && pOptions->isValid("-G") )
|
||||||
|
break;
|
||||||
|
|
||||||
|
if ( bFileExists && pOptions->isValid("-Gc") )
|
||||||
|
bFileCheck = sal_True;
|
||||||
|
|
||||||
|
sTmpDir = getTempDir(fileName);
|
||||||
|
FileStream o;
|
||||||
|
o.createTempFile(sTmpDir);
|
||||||
|
|
||||||
if(!o.isValid())
|
if(!o.isValid())
|
||||||
{
|
{
|
||||||
OString message("cannot open ");
|
OString message("cannot open ");
|
||||||
message += fileName + " for writing";
|
message += fileName + " for writing";
|
||||||
throw CannotDumpException(message);
|
throw CannotDumpException(message);
|
||||||
}
|
} else
|
||||||
|
sTmpFileName = o.getName();
|
||||||
|
|
||||||
dumpPackage(o, sal_True);
|
dumpPackage(o, sal_True);
|
||||||
o << indent() << "public interface " << fieldName << "\n{\n";
|
o << indent() << "public interface " << fieldName << "\n{\n";
|
||||||
@@ -1299,6 +1343,8 @@ sal_Bool ModuleType::dump(JavaOptions* pOptions)
|
|||||||
|
|
||||||
dec();
|
dec();
|
||||||
o << "}\n";
|
o << "}\n";
|
||||||
|
|
||||||
|
makeValidTypeFile(fileName, sTmpFileName, bFileCheck);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user