420944 Hot Deployment of WAR when Context XML exists doesn't trigger redeploy
This commit is contained in:
parent
86c2d01e80
commit
0aa6f1b706
|
@ -111,12 +111,7 @@ public class WebAppProvider extends ScanningAppProvider
|
||||||
// else is it a war file
|
// else is it a war file
|
||||||
if (lowername.endsWith(".war"))
|
if (lowername.endsWith(".war"))
|
||||||
{
|
{
|
||||||
String base=name.substring(0,name.length()-4);
|
//defer deployment decision to fileChanged()
|
||||||
// ignore if it is a war for an existing xml file?
|
|
||||||
if (exists(base+".xml")||exists(base+".XML"))
|
|
||||||
return false;
|
|
||||||
|
|
||||||
// OK to deploy it then
|
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -238,7 +233,8 @@ public class WebAppProvider extends ScanningAppProvider
|
||||||
{
|
{
|
||||||
_tempDirectory = directory;
|
_tempDirectory = directory;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------ */
|
||||||
/**
|
/**
|
||||||
* Get the user supplied Work Directory.
|
* Get the user supplied Work Directory.
|
||||||
*
|
*
|
||||||
|
@ -360,5 +356,150 @@ public class WebAppProvider extends ScanningAppProvider
|
||||||
}
|
}
|
||||||
return webAppContext;
|
return webAppContext;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------ */
|
||||||
|
@Override
|
||||||
|
protected void fileChanged(String filename) throws Exception
|
||||||
|
{
|
||||||
|
File file = new File(filename);
|
||||||
|
if (!file.exists())
|
||||||
|
return;
|
||||||
|
|
||||||
|
File parent = file.getParentFile();
|
||||||
|
|
||||||
|
//is the file that changed a directory?
|
||||||
|
if (file.isDirectory())
|
||||||
|
{
|
||||||
|
//is there a .xml file of the same name?
|
||||||
|
if (exists(file.getName()+".xml")||exists(file.getName()+".XML"))
|
||||||
|
return; //ignore it
|
||||||
|
|
||||||
|
//is there .war file of the same name?
|
||||||
|
if (exists(file.getName()+".war")||exists(file.getName()+".WAR"))
|
||||||
|
return; //ignore it
|
||||||
|
|
||||||
|
super.fileChanged(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
String lowname = file.getName().toLowerCase(Locale.ENGLISH);
|
||||||
|
//is the file that changed a .war file?
|
||||||
|
if (lowname.endsWith(".war"))
|
||||||
|
{
|
||||||
|
String name = file.getName();
|
||||||
|
String base=name.substring(0,name.length()-4);
|
||||||
|
String xmlname = base+".xml";
|
||||||
|
if (exists(xmlname))
|
||||||
|
{
|
||||||
|
//if a .xml file exists for it, then redeploy that instead
|
||||||
|
File xml = new File (parent, xmlname);
|
||||||
|
super.fileChanged(xml.getCanonicalPath());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
xmlname = base+".XML";
|
||||||
|
if (exists(xmlname))
|
||||||
|
{
|
||||||
|
//if a .XML file exists for it, then redeploy that instead
|
||||||
|
File xml = new File(parent, xmlname);
|
||||||
|
super.fileChanged(xml.getCanonicalPath());
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//redeploy the changed war
|
||||||
|
super.fileChanged(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//is the file that changed a .xml file?
|
||||||
|
if (lowname.endsWith(".xml"))
|
||||||
|
super.fileChanged(filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------ */
|
||||||
|
@Override
|
||||||
|
protected void fileAdded(String filename) throws Exception
|
||||||
|
{
|
||||||
|
File file = new File(filename);
|
||||||
|
if (!file.exists())
|
||||||
|
return;
|
||||||
|
|
||||||
|
//is the file that was added a directory?
|
||||||
|
if (file.isDirectory())
|
||||||
|
{
|
||||||
|
//is there a .xml file of the same name?
|
||||||
|
if (exists(file.getName()+".xml")||exists(file.getName()+".XML"))
|
||||||
|
return; //assume we will get added events for the xml file
|
||||||
|
|
||||||
|
//is there .war file of the same name?
|
||||||
|
if (exists(file.getName()+".war")||exists(file.getName()+".WAR"))
|
||||||
|
return; //assume we will get added events for the war file
|
||||||
|
|
||||||
|
super.fileAdded(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//is the file that was added a .war file?
|
||||||
|
String lowname = file.getName().toLowerCase(Locale.ENGLISH);
|
||||||
|
if (lowname.endsWith(".war"))
|
||||||
|
{
|
||||||
|
String name = file.getName();
|
||||||
|
String base=name.substring(0,name.length()-4);
|
||||||
|
//is there a .xml file of the same name?
|
||||||
|
if (exists(base+".xml")||exists(base+".XML"))
|
||||||
|
return; //ignore it as we should get addition of the xml file
|
||||||
|
|
||||||
|
super.fileAdded(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//is the file that was added an .xml file?
|
||||||
|
if (lowname.endsWith(".xml"))
|
||||||
|
super.fileAdded(filename);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/* ------------------------------------------------------------ */
|
||||||
|
@Override
|
||||||
|
protected void fileRemoved(String filename) throws Exception
|
||||||
|
{
|
||||||
|
File file = new File(filename);
|
||||||
|
|
||||||
|
//is the file that was removed a directory?
|
||||||
|
if (file.isDirectory())
|
||||||
|
{
|
||||||
|
//is there a .xml file of the same name?
|
||||||
|
if (exists(file.getName()+".xml")||exists(file.getName()+".XML"))
|
||||||
|
return; //assume we will get removed events for the xml file
|
||||||
|
|
||||||
|
//is there .war file of the same name?
|
||||||
|
if (exists(file.getName()+".war")||exists(file.getName()+".WAR"))
|
||||||
|
return; //assume we will get removed events for the war file
|
||||||
|
|
||||||
|
super.fileRemoved(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//is the file that was removed a .war file?
|
||||||
|
String lowname = file.getName().toLowerCase(Locale.ENGLISH);
|
||||||
|
if (lowname.endsWith(".war"))
|
||||||
|
{
|
||||||
|
//is there a .xml file of the same name?
|
||||||
|
String name = file.getName();
|
||||||
|
String base=name.substring(0,name.length()-4);
|
||||||
|
if (exists(base+".xml")||exists(base+".XML"))
|
||||||
|
return; //ignore it as we should get removal of the xml file
|
||||||
|
|
||||||
|
super.fileRemoved(filename);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
|
//is the file that was removed an .xml file?
|
||||||
|
if (lowname.endsWith(".xml"))
|
||||||
|
super.fileRemoved(filename);
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue