⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 filesyshandler.java

📁 cisco-2950交换机的应用程序的源代码
💻 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 + -