niagara-ax/modules/cfr_output/com/tridium/install/InstallableCandidates.java
2026-03-17 13:31:18 -07:00

368 lines
16 KiB
Java

/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.baja.nre.util.Array
* javax.baja.sys.BInteger
*/
package com.tridium.install;
import com.tridium.install.BDependency;
import com.tridium.install.InstallScenario;
import com.tridium.install.InstallableFilter;
import com.tridium.install.PartSpec;
import com.tridium.install.UnmeetableDependency;
import com.tridium.install.installable.BInstallable;
import com.tridium.install.part.BModulePart;
import java.util.Comparator;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import java.util.TreeMap;
import java.util.TreeSet;
import javax.baja.nre.util.Array;
import javax.baja.sys.BInteger;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class InstallableCandidates {
protected static final Comparator CANDIDATE_KEY_COMPARATOR = new Comparator(){
public final int compare(Object object, Object object2) {
if (object instanceof BDependency) {
if (object2 instanceof BDependency) {
return BDependency.COMPARATOR.compare(object, object2);
}
return 1;
}
if (object2 instanceof BDependency) {
return -1;
}
return object.toString().compareTo(object2.toString());
}
};
private Map candidatesByKey;
private Map keyByNumCandidates;
private Map unmeetableDependencyByPartSpec;
static /* synthetic */ Class class$com$tridium$install$BDependency;
static /* synthetic */ Class class$com$tridium$install$installable$BInstallable;
public void addAll(InstallableCandidates installableCandidates) {
if (installableCandidates == null) {
return;
}
Object[] objectArray = installableCandidates.getKeys();
int n = 0;
while (n < objectArray.length) {
TreeSet<Object> treeSet;
BInteger bInteger;
Object[] objectArray2 = installableCandidates.getCandidates(objectArray[n]);
Array array = (Array)this.candidatesByKey.get(objectArray[n]);
if (array == null) {
array = new Array(objectArray2);
this.candidatesByKey.put(objectArray[n], array);
} else {
bInteger = BInteger.make((int)array.size());
treeSet = (TreeSet<Object>)this.keyByNumCandidates.get(bInteger);
treeSet.remove(objectArray[n]);
if (treeSet.size() == 0) {
this.keyByNumCandidates.remove(bInteger);
}
array.addAll(objectArray2);
}
bInteger = BInteger.make((int)array.size());
treeSet = (TreeSet)this.keyByNumCandidates.get(bInteger);
if (treeSet == null) {
treeSet = new TreeSet<Object>(CANDIDATE_KEY_COMPARATOR);
this.keyByNumCandidates.put(bInteger, treeSet);
}
treeSet.add(objectArray[n]);
++n;
}
}
public InstallableCandidates newCopy() {
InstallableCandidates installableCandidates = new InstallableCandidates();
Iterator iterator = this.candidatesByKey.keySet().iterator();
while (iterator.hasNext()) {
Object k = iterator.next();
Array array = (Array)this.candidatesByKey.get(k);
installableCandidates.candidatesByKey.put(k, array.copy());
BInteger bInteger = BInteger.make((int)array.size());
TreeSet treeSet = (TreeSet)installableCandidates.keyByNumCandidates.get(bInteger);
if (treeSet == null) {
treeSet = new TreeSet(CANDIDATE_KEY_COMPARATOR);
installableCandidates.keyByNumCandidates.put(bInteger, treeSet);
}
treeSet.add(k);
}
return installableCandidates;
}
public int size() {
return this.candidatesByKey.size();
}
public String toString() {
return this.candidatesByKey.toString();
}
public boolean isDependencyUnsolvable(BDependency bDependency, InstallScenario installScenario) {
UnmeetableDependency unmeetableDependency = this.getUnmeetableDependency(bDependency.getPartSpec(), installScenario);
boolean bl = false;
if (unmeetableDependency != null) {
bl = unmeetableDependency.isUnsolvable;
}
return bl;
}
public BDependency getFailedExclusion(BDependency bDependency, InstallScenario installScenario) {
UnmeetableDependency unmeetableDependency = this.getUnmeetableDependency(bDependency.getPartSpec(), installScenario);
return unmeetableDependency == null ? null : unmeetableDependency.failedExclusion;
}
public InstallableFilter getFailedFilter(BDependency bDependency, InstallScenario installScenario) {
UnmeetableDependency unmeetableDependency = this.getUnmeetableDependency(bDependency.getPartSpec(), installScenario);
return unmeetableDependency == null ? null : unmeetableDependency.failedFilter;
}
public boolean installableNotFound(BDependency bDependency, InstallScenario installScenario) {
UnmeetableDependency unmeetableDependency = this.getUnmeetableDependency(bDependency.getPartSpec(), installScenario);
boolean bl = true;
if (unmeetableDependency != null) {
bl = unmeetableDependency.isSoftwareNotFound;
}
return bl;
}
public UnmeetableDependency getUnmeetableDependency(PartSpec partSpec, InstallScenario installScenario) {
this.getUnmeetableDependencies(installScenario);
return (UnmeetableDependency)this.unmeetableDependencyByPartSpec.get(partSpec);
}
public UnmeetableDependency[] getUnmeetableDependencies(InstallScenario installScenario) {
if (installScenario.isSolved()) {
if (this.unmeetableDependencyByPartSpec == null) {
this.unmeetableDependencyByPartSpec = new HashMap();
Iterator iterator = this.candidatesByKey.keySet().iterator();
while (iterator.hasNext()) {
Object k = iterator.next();
if (!(k instanceof BDependency)) continue;
BDependency bDependency = (BDependency)((Object)k);
boolean bl = installScenario.getTargetPlatform().meets(bDependency);
if (bl && bDependency.getPartType() == BModulePart.TYPE && installScenario.getNewModuleContent() != null && installScenario.getNewModuleContent().getOrdinal() > ((BModulePart)installScenario.getTargetPlatform().getPart(bDependency)).getArchiveContent().getOrdinal()) {
bl = false;
}
if (bl) continue;
if (bDependency.canSolveWith(installScenario.getSolutionParameters().solvers)) {
Object object;
try {
Object object2;
boolean bl2 = false;
object = installScenario.getInstallableRegistry().getInstallables(bDependency, installScenario.getSolutionParameters().listener);
Object object3 = null;
while (object.next()) {
object2 = (BInstallable)object.get();
BDependency bDependency2 = installScenario.getFailedExclusion((BInstallable)object2);
if (bDependency2 == null) {
InstallableFilter installableFilter = installScenario.getSolutionParameters().getFailedFilter((BInstallable)object2);
if (installableFilter == null) {
bl2 = true;
break;
}
if (object3 != null) continue;
object3 = installableFilter;
continue;
}
if (object3 != null) continue;
object3 = bDependency2;
}
try {
object.close();
}
catch (Exception exception) {}
if (bl2) continue;
object2 = (UnmeetableDependency)this.unmeetableDependencyByPartSpec.get(bDependency.getPartSpec());
if (object2 == null) {
object2 = new UnmeetableDependency(bDependency);
this.unmeetableDependencyByPartSpec.put(bDependency.getPartSpec(), object2);
}
if (object3 == null) {
((UnmeetableDependency)object2).isSoftwareNotFound = true;
continue;
}
if (object3 instanceof BDependency) {
((UnmeetableDependency)object2).failedExclusion = object3;
} else {
((UnmeetableDependency)object2).failedFilter = (InstallableFilter)object3;
}
this.unmeetableDependencyByPartSpec.put(bDependency.getPartSpec(), object2);
}
catch (Exception exception) {
object = (UnmeetableDependency)this.unmeetableDependencyByPartSpec.get(bDependency.getPartSpec());
if (object == null) {
object = new UnmeetableDependency(bDependency);
this.unmeetableDependencyByPartSpec.put(bDependency.getPartSpec(), object);
}
((UnmeetableDependency)object).isSoftwareNotFound = true;
}
continue;
}
UnmeetableDependency unmeetableDependency = (UnmeetableDependency)this.unmeetableDependencyByPartSpec.get(bDependency.getPartSpec());
if (unmeetableDependency == null) {
unmeetableDependency = new UnmeetableDependency(bDependency);
this.unmeetableDependencyByPartSpec.put(bDependency.getPartSpec(), unmeetableDependency);
}
unmeetableDependency.isUnsolvable = true;
}
}
return this.unmeetableDependencyByPartSpec.values().toArray(new UnmeetableDependency[this.unmeetableDependencyByPartSpec.size()]);
}
throw new IllegalStateException("Cannot call getUnavailableDependencies() on a scenario that has not been solved");
}
public BDependency[] getDependencies() {
Class clazz = class$com$tridium$install$BDependency;
if (clazz == null) {
clazz = class$com$tridium$install$BDependency = InstallableCandidates.class("[Lcom.tridium.install.BDependency;", false);
}
Array array = new Array(clazz);
Iterator iterator = this.candidatesByKey.keySet().iterator();
while (iterator.hasNext()) {
Object k = iterator.next();
if (!(k instanceof BDependency)) continue;
array.add(k);
}
return (BDependency[])array.trim();
}
public Object[] getKeys() {
return this.candidatesByKey.keySet().toArray();
}
public boolean containsKey(Object object) {
return this.candidatesByKey.containsKey(object);
}
public void addKey(Object object) {
this.add(object, null);
}
public void add(Object object, BInstallable bInstallable) {
TreeSet<Object> treeSet;
BInteger bInteger;
Array array = (Array)this.candidatesByKey.get(object);
if (array == null) {
if (bInstallable == null) {
Class clazz = class$com$tridium$install$installable$BInstallable;
if (clazz == null) {
clazz = class$com$tridium$install$installable$BInstallable = InstallableCandidates.class("[Lcom.tridium.install.installable.BInstallable;", false);
}
array = new Array(clazz);
} else {
array = new Array((Object[])new BInstallable[]{bInstallable});
}
this.candidatesByKey.put(object, array);
} else {
bInteger = BInteger.make((int)array.size());
treeSet = (TreeSet<Object>)this.keyByNumCandidates.get(bInteger);
treeSet.remove(object);
if (treeSet.size() == 0) {
this.keyByNumCandidates.remove(bInteger);
}
if (bInstallable != null) {
array.add((Object)bInstallable);
}
}
bInteger = BInteger.make((int)array.size());
treeSet = (TreeSet)this.keyByNumCandidates.get(bInteger);
if (treeSet == null) {
treeSet = new TreeSet<Object>(CANDIDATE_KEY_COMPARATOR);
this.keyByNumCandidates.put(bInteger, treeSet);
}
treeSet.add(object);
}
public void set(Object object, BInstallable[] bInstallableArray) {
TreeSet<Object> treeSet;
BInteger bInteger;
Array array = (Array)this.candidatesByKey.get(object);
if (array != null) {
bInteger = BInteger.make((int)array.size());
treeSet = (TreeSet<Object>)this.keyByNumCandidates.get(bInteger);
treeSet.remove(object);
if (treeSet.size() == 0) {
this.keyByNumCandidates.remove(bInteger);
}
}
Array array2 = new Array((Object[])bInstallableArray);
this.candidatesByKey.put(object, array2);
bInteger = BInteger.make((int)array2.size());
treeSet = (TreeSet)this.keyByNumCandidates.get(bInteger);
if (treeSet == null) {
treeSet = new TreeSet<Object>(CANDIDATE_KEY_COMPARATOR);
this.keyByNumCandidates.put(bInteger, treeSet);
}
treeSet.add(object);
}
public void removeKey(Object object) {
Array array = (Array)this.candidatesByKey.get(object);
if (array != null) {
BInteger bInteger = BInteger.make((int)array.size());
TreeSet treeSet = (TreeSet)this.keyByNumCandidates.get(bInteger);
if (treeSet != null) {
treeSet.remove(object);
if (treeSet.size() == 0) {
this.keyByNumCandidates.remove(bInteger);
}
}
this.candidatesByKey.remove(object);
}
}
public Object getFirstKey() {
Iterator iterator = this.keyByNumCandidates.values().iterator();
while (iterator.hasNext()) {
TreeSet treeSet = (TreeSet)iterator.next();
Iterator iterator2 = treeSet.iterator();
if (!iterator2.hasNext()) continue;
return iterator2.next();
}
return null;
}
public BInstallable[] getCandidates(Object object) {
Array array = (Array)this.candidatesByKey.get(object);
if (array == null) {
return new BInstallable[0];
}
return (BInstallable[])array.trim();
}
static /* synthetic */ Class class(String string, boolean bl) {
try {
Class<?> clazz = Class.forName(string);
if (!bl) {
clazz = clazz.getComponentType();
}
return clazz;
}
catch (ClassNotFoundException classNotFoundException) {
throw new NoClassDefFoundError(classNotFoundException.getMessage());
}
}
private final /* synthetic */ void this() {
this.unmeetableDependencyByPartSpec = null;
}
public InstallableCandidates() {
this.this();
this.candidatesByKey = new TreeMap(CANDIDATE_KEY_COMPARATOR);
this.keyByNumCandidates = new TreeMap();
}
}