📄 filesyshandler.java
字号:
// Decompiled by Jad v1.5.7g. Copyright 2000 Pavel Kouznetsov.
// Jad home page: http://www.geocities.com/SiliconValley/Bridge/8617/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi
// Source File Name: FilesysHandler.java
package cisco.dsbu.cms.boot.internal;
import cisco.dsbu.cms.boot.external.MemberFilesysDiscoverer;
import cisco.dsbu.cms.boot.internal.jobq.JobHandler;
import java.io.*;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.*;
// Referenced classes of package cisco.dsbu.cms.boot.internal:
// SgzReader, DiscoveryPackage, ComponentDb, ClassFile,
// DiscoveryClassLoader, FilesysDiscoverer
class FilesysHandler
implements JobHandler, DiscoveryPackage
{
private static final boolean DEBUG = true;
private FilesysDiscoverer filesysDiscoverer;
private ComponentDb componentDb;
private DiscoveryClassLoader discoveryClassLoader;
FilesysHandler(FilesysDiscoverer filesysdiscoverer, ComponentDb componentdb, DiscoveryClassLoader discoveryclassloader)
{
filesysDiscoverer = filesysdiscoverer;
componentDb = componentdb;
discoveryClassLoader = discoveryclassloader;
}
private void processFilesystem(URL url)
{
System.out.println("Processing filesystem: " + url);
ArrayList arraylist = new ArrayList();
InputStream inputstream;
try
{
URL url1 = new URL(url, "mono_disc.sgz");
inputstream = url1.openStream();
}
catch(IOException ioexception)
{
return;
}
SgzReader sgzreader = null;
try
{
sgzreader = new SgzReader(inputstream);
do
{
String s = sgzreader.getNextElement();
if(s == null)
break;
if(s.endsWith("version.xml"))
{
byte abyte0[] = sgzreader.getElementData();
ByteArrayInputStream bytearrayinputstream = new ByteArrayInputStream(abyte0);
componentDb.integrateFile(url, bytearrayinputstream);
} else
if(ClassFile.isClassFile(s))
{
int i = sgzreader.getElementStatus();
if(i != 2)
{
String s1 = ClassFile.getClassName(s);
byte abyte1[] = sgzreader.getElementData();
discoveryClassLoader.addClass(s1, abyte1, i == 1);
arraylist.add(s1);
}
}
} while(true);
}
catch(MalformedURLException malformedurlexception)
{
malformedurlexception.printStackTrace();
return;
}
catch(IOException ioexception1)
{
ioexception1.printStackTrace();
return;
}
finally
{
try
{
if(sgzreader != null)
sgzreader.close();
else
if(inputstream != null)
inputstream.close();
}
catch(IOException ioexception2)
{
ioexception2.printStackTrace();
}
}
discoverMemberFilesys(url, arraylist);
}
private void discoverMemberFilesys(URL url, List list)
{
Iterator iterator = list.iterator();
while(iterator.hasNext())
{
String s = (String)iterator.next();
MemberFilesysDiscoverer memberfilesysdiscoverer;
try
{
memberfilesysdiscoverer = (MemberFilesysDiscoverer)discoveryClassLoader.loadClass(s).newInstance();
}
catch(ClassCastException classcastexception)
{
continue;
}
catch(Exception exception)
{
exception.printStackTrace();
continue;
}
memberfilesysdiscoverer.init(filesysDiscoverer.getMainFilesys(), url);
URL aurl[] = memberfilesysdiscoverer.discover();
if(aurl != null)
{
for(int i = 0; i < aurl.length; i++)
filesysDiscoverer.submit(aurl[i]);
}
}
}
public void process(Object obj, boolean flag)
{
URL url = (URL)obj;
processFilesystem(url);
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -