package org.snmp4j.agent.io;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.ObjectInputStream;
import java.io.ObjectOutputStream;
import java.net.URI;
import org.snmp4j.agent.MOServer;

/* JADX INFO: loaded from: classes.dex */
public class DefaultMOPersistenceProvider implements MOPersistenceProvider {
    private String defaultURI;
    private MOServer[] server;

    public DefaultMOPersistenceProvider(MOServer[] mOServerArr, String str) {
        this.server = mOServerArr;
        this.defaultURI = str;
    }

    private File getFile(String str) {
        return str.toUpperCase().startsWith("FILE:") ? new File(URI.create(str)) : new File(str);
    }

    @Override // org.snmp4j.agent.io.MOPersistenceProvider
    public String getDefaultURI() {
        return this.defaultURI;
    }

    @Override // org.snmp4j.agent.io.MOPersistenceProvider
    public String getPersistenceProviderID() {
        return "default";
    }

    @Override // org.snmp4j.agent.io.MOPersistenceProvider
    public boolean isValidPersistenceURI(String str) {
        try {
            File file = getFile(str);
            if (!file.isFile() || (!file.canRead() && !file.canWrite())) {
                if (file.exists()) {
                    return false;
                }
            }
            return true;
        } catch (Exception unused) {
            return false;
        }
    }

    @Override // org.snmp4j.agent.io.MOPersistenceProvider
    public void restore(String str, int i2) throws Throwable {
        ObjectInputStream objectInputStream;
        if (str == null) {
            str = getDefaultURI();
        }
        ObjectInputStream objectInputStream2 = null;
        try {
            try {
                objectInputStream = new ObjectInputStream(new FileInputStream(getFile(str)));
            } catch (Throwable th) {
                th = th;
            }
            try {
                DefaultMOInput defaultMOInput = new DefaultMOInput(objectInputStream);
                defaultMOInput.setOverwriteMode(i2);
                new MOServerPersistence(this.server).loadData(defaultMOInput);
                objectInputStream.close();
                try {
                    objectInputStream.close();
                } catch (IOException unused) {
                }
            } catch (IOException e2) {
                objectInputStream2 = objectInputStream;
                throw e2;
            } catch (Throwable th2) {
                th = th2;
                objectInputStream2 = objectInputStream;
                if (objectInputStream2 != null) {
                    try {
                        objectInputStream2.close();
                    } catch (IOException unused2) {
                    }
                }
                throw th;
            }
        } catch (IOException e3) {
        }
    }

    @Override // org.snmp4j.agent.io.MOPersistenceProvider
    public void store(String str) throws Throwable {
        ObjectOutputStream objectOutputStream;
        if (str == null) {
            str = getDefaultURI();
        }
        ObjectOutputStream objectOutputStream2 = null;
        try {
            try {
                objectOutputStream = new ObjectOutputStream(new FileOutputStream(getFile(str)));
            } catch (Throwable th) {
                th = th;
            }
            try {
                new MOServerPersistence(this.server).saveData(new DefaultMOOutput(objectOutputStream));
                objectOutputStream.flush();
                objectOutputStream.close();
                try {
                    objectOutputStream.close();
                } catch (IOException unused) {
                }
            } catch (IOException e2) {
                objectOutputStream2 = objectOutputStream;
                throw e2;
            } catch (Throwable th2) {
                th = th2;
                objectOutputStream2 = objectOutputStream;
                if (objectOutputStream2 != null) {
                    try {
                        objectOutputStream2.close();
                    } catch (IOException unused2) {
                    }
                }
                throw th;
            }
        } catch (IOException e3) {
        }
    }
}
