link start!

This commit is contained in:
cherubin
2026-03-17 13:31:18 -07:00
commit 08abe87cfb
5910 changed files with 386288 additions and 0 deletions
@@ -0,0 +1,45 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import javax.baja.naming.BOrd;
import javax.baja.sys.BIcon;
import javax.baja.sys.BInterface;
import javax.baja.sys.Context;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
public interface BINavNode
extends BInterface {
public static final Type TYPE;
public String getNavName();
public String getNavDisplayName(Context var1);
public String getNavDescription(Context var1);
public BINavNode getNavParent();
public boolean hasNavChildren();
public BINavNode getNavChild(String var1);
public BINavNode resolveNavChild(String var1);
public BINavNode[] getNavChildren();
public BOrd getNavOrd();
public BIcon getNavIcon();
static {
Class clazz = 1.class$javax$baja$nav$BINavNode;
if (clazz == null) {
clazz = 1.class$javax$baja$nav$BINavNode = 1.class("[Ljavax.baja.nav.BINavNode;", false);
}
TYPE = Sys.loadType(clazz);
}
}
@@ -0,0 +1,253 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.baja.nre.util.Array
*/
package javax.baja.nav;
import java.util.ArrayList;
import java.util.HashMap;
import javax.baja.naming.SlotPath;
import javax.baja.naming.UnresolvedException;
import javax.baja.nav.BINavNode;
import javax.baja.nav.BNavRoot;
import javax.baja.nav.NavEvent;
import javax.baja.nre.util.Array;
import javax.baja.security.BIProtected;
import javax.baja.security.BPermissions;
import javax.baja.spy.SpyWriter;
import javax.baja.sys.BIcon;
import javax.baja.sys.BObject;
import javax.baja.sys.Context;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
import javax.baja.util.Lexicon;
import javax.baja.util.LexiconText;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public abstract class BNavContainer
extends BObject
implements BINavNode {
public static final Type TYPE;
BINavNode parent;
String name;
LexiconText lexText;
ArrayList byOrder;
HashMap byName;
static /* synthetic */ Class class$javax$baja$nav$BNavContainer;
static /* synthetic */ Class class$javax$baja$nav$BINavNode;
public Type getType() {
return TYPE;
}
public LexiconText getLexiconText() {
return this.lexText;
}
public void setLexiconText(LexiconText lexiconText) {
this.lexText = lexiconText;
}
public String getNavName() {
return this.name;
}
public String getNavDisplayName(Context context) {
if (this.lexText != null) {
return this.lexText.getText(context);
}
return this.getNavName();
}
public String getNavDescription(Context context) {
if (this.lexText != null) {
return Lexicon.make(this.lexText.module, context).get(this.lexText.key + ".description", null);
}
return null;
}
public BINavNode getNavParent() {
return this.parent;
}
public boolean hasNavChildren() {
boolean bl = false;
if (this.byName.size() > 0) {
bl = true;
}
return bl;
}
public BINavNode getNavChild(String string) {
return (BINavNode)this.byName.get(string);
}
public BINavNode resolveNavChild(String string) {
BINavNode bINavNode = this.getNavChild(string);
if (bINavNode == null) {
throw new UnresolvedException(string);
}
return bINavNode;
}
public BINavNode[] getNavChildren() {
return this.byOrder.toArray(new BINavNode[this.byOrder.size()]);
}
public BIcon getNavIcon() {
return this.getIcon();
}
public void addNavChild(BINavNode bINavNode) {
String string = bINavNode.getNavName();
if (this.byName.get(string) != null) {
throw new IllegalArgumentException("duplicate name " + string);
}
this.byName.put(string, bINavNode);
this.byOrder.add(bINavNode);
if (bINavNode instanceof BNavContainer) {
BNavContainer bNavContainer = (BNavContainer)bINavNode;
bNavContainer.parent = this;
}
this.fireNavEvent(NavEvent.makeAdded(this, string, null));
}
public void removeNavChild(BINavNode bINavNode) {
String string = bINavNode.getNavName();
if (this.byName.get(string) != bINavNode) {
throw new IllegalArgumentException("not child " + string);
}
this.byName.remove(string);
this.byOrder.remove(bINavNode);
if (bINavNode instanceof BNavContainer) {
BNavContainer bNavContainer = (BNavContainer)bINavNode;
bNavContainer.parent = null;
}
this.fireNavEvent(NavEvent.makeRemoved(this, string, null));
}
public void reorderNavChildren(BINavNode[] bINavNodeArray) {
if (bINavNodeArray.length != this.byOrder.size()) {
throw new IllegalArgumentException("children.length != getNavChildren().length");
}
ArrayList<BINavNode> arrayList = new ArrayList<BINavNode>(bINavNodeArray.length);
String[] stringArray = new String[bINavNodeArray.length];
int n = 0;
while (n < bINavNodeArray.length) {
BINavNode bINavNode = bINavNodeArray[n];
String string = bINavNode.getNavName();
if (this.byName.get(string) != bINavNode) {
throw new IllegalStateException("children at " + n + " not in getNavChildren()");
}
arrayList.add(bINavNode);
stringArray[n] = string;
++n;
}
this.byOrder = arrayList;
this.fireNavEvent(NavEvent.makeReordered(this, stringArray, null));
}
protected void fireNavEvent(NavEvent navEvent) {
BNavRoot.INSTANCE.fireNavEvent(navEvent);
}
public String toString(Context context) {
return this.name;
}
public void spy(SpyWriter spyWriter) throws Exception {
super.spy(spyWriter);
spyWriter.startProps();
spyWriter.trTitle("NavContainer", 2);
spyWriter.prop((Object)"navName", this.getNavName());
spyWriter.prop((Object)"navDisplayName", this.getNavDisplayName(null));
spyWriter.prop((Object)"navOrd", this.getNavOrd());
spyWriter.endProps();
BINavNode[] bINavNodeArray = this.getNavChildren();
if (bINavNodeArray != null && bINavNodeArray.length > 0) {
spyWriter.startTable(false);
spyWriter.trTitle("Children", 1);
int n = 0;
while (n < bINavNodeArray.length) {
BObject bObject = (BObject)((Object)bINavNodeArray[n]);
if (bObject == null) {
spyWriter.tr("ERROR NULL");
} else {
String string = bINavNodeArray[n].getNavName();
spyWriter.tr("<a href='" + SlotPath.escape(string) + "'>" + string + "</a> [" + bObject.getType() + "] " + bObject.toString());
}
++n;
}
spyWriter.endTable();
}
}
public static BINavNode[] filter(BINavNode[] bINavNodeArray, Context context) {
try {
if (context == null || context.getUser() == null) {
return bINavNodeArray;
}
Class clazz = class$javax$baja$nav$BINavNode;
if (clazz == null) {
clazz = class$javax$baja$nav$BINavNode = BNavContainer.class("[Ljavax.baja.nav.BINavNode;", false);
}
Array array = new Array(clazz, bINavNodeArray.length);
int n = 0;
while (n < bINavNodeArray.length) {
BPermissions bPermissions;
BINavNode bINavNode = bINavNodeArray[n];
if (!(bINavNode instanceof BIProtected) || (bPermissions = ((BIProtected)((Object)bINavNode)).getPermissions(context)).has(1)) {
array.add((Object)bINavNode);
}
++n;
}
return (BINavNode[])array.trim();
}
catch (Exception exception) {
exception.printStackTrace();
return bINavNodeArray;
}
}
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.byOrder = new ArrayList();
this.byName = new HashMap();
}
public BNavContainer(String string, LexiconText lexiconText) {
this.this();
this.name = string;
this.lexText = lexiconText;
}
public BNavContainer(String string) {
this.this();
this.name = string;
}
static {
Class clazz = class$javax$baja$nav$BNavContainer;
if (clazz == null) {
clazz = class$javax$baja$nav$BNavContainer = BNavContainer.class("[Ljavax.baja.nav.BNavContainer;", false);
}
TYPE = Sys.loadType(clazz);
}
}
@@ -0,0 +1,78 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import javax.baja.naming.BOrd;
import javax.baja.nav.BNavContainer;
import javax.baja.nav.NavEvent;
import javax.baja.sys.BIcon;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class BNavFileNode
extends BNavContainer {
public static final Type TYPE;
static final BIcon defaultIcon;
BIcon icon;
BOrd navOrd;
BOrd ordInSession;
static /* synthetic */ Class class$javax$baja$nav$BNavFileNode;
public BOrd getNavOrd() {
return this.navOrd;
}
public BOrd getOrdInSession() {
if (this.ordInSession == null) {
this.ordInSession = this.navOrd.relativizeToSession();
}
return this.ordInSession;
}
protected void fireNavEvent(NavEvent navEvent) {
}
public BIcon getIcon() {
return this.icon;
}
public Type getType() {
return TYPE;
}
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());
}
}
public BNavFileNode(String string, BOrd bOrd, BIcon bIcon) {
super(string);
if (bIcon == null || bIcon.isNull()) {
bIcon = defaultIcon;
}
this.navOrd = bOrd;
this.icon = bIcon;
}
static {
Class clazz = class$javax$baja$nav$BNavFileNode;
if (clazz == null) {
clazz = class$javax$baja$nav$BNavFileNode = BNavFileNode.class("[Ljavax.baja.nav.BNavFileNode;", false);
}
TYPE = Sys.loadType(clazz);
defaultIcon = BIcon.std("folder.png");
}
}
@@ -0,0 +1,144 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import java.util.HashMap;
import javax.baja.naming.BOrd;
import javax.baja.naming.OrdQuery;
import javax.baja.naming.ViewQuery;
import javax.baja.nav.BINavNode;
import javax.baja.nav.BNavFileNode;
import javax.baja.space.BSpace;
import javax.baja.sys.BIcon;
import javax.baja.sys.Context;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
import javax.baja.util.Lexicon;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class BNavFileSpace
extends BSpace {
public static final Type TYPE;
BNavFileNode root;
HashMap map;
static /* synthetic */ Class class$javax$baja$nav$BNavFileSpace;
public Type getType() {
return TYPE;
}
void buildMap(BINavNode bINavNode) {
BOrd bOrd = bINavNode.getNavOrd();
this.map.put(bOrd, bINavNode);
BINavNode[] bINavNodeArray = bINavNode.getNavChildren();
int n = 0;
while (n < bINavNodeArray.length) {
this.buildMap(bINavNodeArray[n]);
++n;
}
}
public BNavFileNode getRootNode() {
return this.root;
}
public BNavFileNode lookup(BOrd bOrd) {
BNavFileNode bNavFileNode = (BNavFileNode)this.map.get(bOrd);
if (bNavFileNode != null) {
return bNavFileNode;
}
OrdQuery[] ordQueryArray = bOrd.parse();
if (ordQueryArray.length > 0 && ordQueryArray[ordQueryArray.length - 1] instanceof ViewQuery && (bNavFileNode = (BNavFileNode)this.map.get(bOrd = BOrd.make(ordQueryArray, 0, ordQueryArray.length - 1))) != null) {
return bNavFileNode;
}
return null;
}
public BOrd getOrdInSession() {
return BOrd.make("dummy:");
}
public String getNavDisplayName(Context context) {
if (this.root == null) {
return super.getNavDisplayName(context);
}
return this.root.getNavDisplayName(context);
}
public String getNavDescription(Context context) {
return Lexicon.make("baja", context).getText("nav.navFileSpace.description");
}
public boolean hasNavChildren() {
boolean bl = false;
if (this.root != null) {
bl = true;
}
return bl;
}
public BINavNode getNavChild(String string) {
if (this.root == null) {
return null;
}
return this.root.getNavChild(string);
}
public BINavNode[] getNavChildren() {
if (this.root == null) {
return new BINavNode[0];
}
return this.root.getNavChildren();
}
public BIcon getNavIcon() {
if (this.root == null) {
return this.getIcon();
}
return this.root.getNavIcon();
}
public BOrd getNavOrd() {
if (this.root == null) {
return super.getNavOrd();
}
return this.root.getNavOrd();
}
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.map = new HashMap();
}
public BNavFileSpace(BNavFileNode bNavFileNode) {
super("navfile", null);
this.this();
this.root = bNavFileNode;
this.addNavChild(bNavFileNode);
this.buildMap(bNavFileNode);
}
static {
Class clazz = class$javax$baja$nav$BNavFileSpace;
if (clazz == null) {
clazz = class$javax$baja$nav$BNavFileSpace = BNavFileSpace.class("[Ljavax.baja.nav.BNavFileSpace;", false);
}
TYPE = Sys.loadType(clazz);
}
}
@@ -0,0 +1,164 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import java.util.ArrayList;
import javax.baja.log.Log;
import javax.baja.naming.BLocalHost;
import javax.baja.naming.BOrd;
import javax.baja.nav.BNavContainer;
import javax.baja.nav.BRootScheme;
import javax.baja.nav.NavEvent;
import javax.baja.nav.NavListener;
import javax.baja.spy.SpyWriter;
import javax.baja.sys.BIcon;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
import javax.baja.util.LexiconText;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public final class BNavRoot
extends BNavContainer {
static final Log eventLogger = Log.getLog("nav.event");
public static final BNavRoot INSTANCE = new BNavRoot();
public static final Type TYPE;
private static final BIcon icon;
ArrayList listeners;
static /* synthetic */ Class class$javax$baja$nav$BNavRoot;
public final Type getType() {
return TYPE;
}
public final BOrd getNavOrd() {
return BRootScheme.ORD;
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public final NavListener[] getNavListeners() {
NavListener[] navListenerArray = null;
ArrayList arrayList = this.listeners;
synchronized (arrayList) {
return this.listeners.toArray(new NavListener[this.listeners.size()]);
}
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public final void addNavListener(NavListener navListener) {
ArrayList arrayList = this.listeners;
synchronized (arrayList) {
int n = 0;
while (true) {
if (n >= this.listeners.size()) {
this.listeners.add(navListener);
return;
}
if (this.listeners.get(n) == navListener) {
return;
}
++n;
}
}
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
* Enabled aggressive block sorting
* Enabled unnecessary exception pruning
* Enabled aggressive exception aggregation
*/
public final void removeNavListener(NavListener navListener) {
ArrayList arrayList = this.listeners;
synchronized (arrayList) {
int n = 0;
while (n < this.listeners.size()) {
if (this.listeners.get(n) == navListener) {
this.listeners.remove(n);
break;
}
++n;
}
return;
}
}
public final void fireNavEvent(NavEvent navEvent) {
if (eventLogger.isTraceOn()) {
eventLogger.trace(navEvent.toString());
}
NavListener[] navListenerArray = this.getNavListeners();
int n = 0;
while (n < navListenerArray.length) {
try {
navListenerArray[n].navEvent(navEvent);
}
catch (Throwable throwable) {
throwable.printStackTrace();
}
++n;
}
}
public final BIcon getIcon() {
return icon;
}
public final void spy(SpyWriter spyWriter) throws Exception {
super.spy(spyWriter);
NavListener[] navListenerArray = this.getNavListeners();
spyWriter.startTable(false);
spyWriter.trTitle("Listeners", 1);
int n = 0;
while (n < navListenerArray.length) {
spyWriter.tr(navListenerArray[n]);
++n;
}
spyWriter.endTable();
}
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.listeners = new ArrayList();
}
private BNavRoot() {
super("root", LexiconText.make("baja", "nav.root"));
this.this();
}
static {
Class clazz = class$javax$baja$nav$BNavRoot;
if (clazz == null) {
clazz = class$javax$baja$nav$BNavRoot = BNavRoot.class("[Ljavax.baja.nav.BNavRoot;", false);
}
TYPE = Sys.loadType(clazz);
BLocalHost.INSTANCE.getHostname();
icon = BIcon.std("planet.png");
}
}
@@ -0,0 +1,95 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import javax.baja.naming.BOrd;
import javax.baja.naming.BOrdScheme;
import javax.baja.naming.OrdQuery;
import javax.baja.naming.OrdQueryList;
import javax.baja.naming.OrdTarget;
import javax.baja.naming.SyntaxException;
import javax.baja.naming.UnresolvedException;
import javax.baja.nav.BNavRoot;
import javax.baja.sys.Sys;
import javax.baja.sys.Type;
/*
* Illegal identifiers - consider using --renameillegalidents true
*/
public class BRootScheme
extends BOrdScheme {
static final RootQuery QUERY = new RootQuery();
public static final BOrd ORD = BOrd.make("root:");
public static final BRootScheme INSTANCE = new BRootScheme();
public static final Type TYPE;
static /* synthetic */ Class class$javax$baja$nav$BRootScheme;
public OrdQuery parse(String string) {
return QUERY;
}
public OrdTarget resolve(OrdTarget ordTarget, OrdQuery ordQuery) throws SyntaxException, UnresolvedException {
return new OrdTarget(ordTarget, BNavRoot.INSTANCE);
}
public Type getType() {
return TYPE;
}
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 BRootScheme() {
super("root");
}
static {
Class clazz = class$javax$baja$nav$BRootScheme;
if (clazz == null) {
clazz = class$javax$baja$nav$BRootScheme = BRootScheme.class("[Ljavax.baja.nav.BRootScheme;", false);
}
TYPE = Sys.loadType(clazz);
}
static class RootQuery
implements OrdQuery {
public boolean isHost() {
return false;
}
public boolean isSession() {
return false;
}
public void normalize(OrdQueryList ordQueryList, int n) {
ordQueryList.trim(n);
}
public String getScheme() {
return "root";
}
public String getBody() {
return "";
}
public String toString() {
return "root:";
}
RootQuery() {
}
}
}
@@ -0,0 +1,218 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import javax.baja.category.BCategoryMask;
import javax.baja.naming.BOrd;
import javax.baja.naming.OrdQuery;
import javax.baja.naming.Path;
import javax.baja.nav.BINavNode;
import javax.baja.sys.BFacets;
import javax.baja.sys.Context;
public class NavEvent {
public static final int ADDED = 1;
public static final int REMOVED = 2;
public static final int RENAMED = 3;
public static final int REORDERED = 4;
public static final int REPLACED = 5;
public static final int RECATEGORIZED = 6;
private static String[] ID_STRINGS = new String[]{"-", "added", "removed", "renamed", "reordered", "replaced", "recategorized"};
private int id;
private BINavNode parent;
private BOrd parentOrd;
private String oldChildName;
private String newChildName;
private BOrd oldChildOrd;
private BOrd newChildOrd;
private String[] newOrder;
private Context context;
public static NavEvent makeAdded(BOrd bOrd, String string, Context context) {
NavEvent navEvent = new NavEvent(1);
navEvent.parentOrd = bOrd;
navEvent.newChildName = string;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeAdded(BINavNode bINavNode, String string, Context context) {
NavEvent navEvent = NavEvent.makeAdded(bINavNode.getNavOrd(), string, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent makeRemoved(BOrd bOrd, String string, Context context) {
NavEvent navEvent = new NavEvent(2);
navEvent.parentOrd = bOrd;
navEvent.oldChildName = string;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeRemoved(BINavNode bINavNode, String string, Context context) {
NavEvent navEvent = NavEvent.makeRemoved(bINavNode.getNavOrd(), string, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent makeRenamed(BOrd bOrd, String string, String string2, Context context) {
NavEvent navEvent = new NavEvent(3);
navEvent.parentOrd = bOrd;
navEvent.oldChildName = string;
navEvent.newChildName = string2;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeRenamed(BINavNode bINavNode, String string, String string2, Context context) {
NavEvent navEvent = NavEvent.makeRenamed(bINavNode.getNavOrd(), string, string2, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent makeReordered(BOrd bOrd, String[] stringArray, Context context) {
NavEvent navEvent = new NavEvent(4);
navEvent.parentOrd = bOrd;
navEvent.newOrder = stringArray;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeReordered(BINavNode bINavNode, String[] stringArray, Context context) {
NavEvent navEvent = NavEvent.makeReordered(bINavNode.getNavOrd(), stringArray, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent makeReplaced(BOrd bOrd, String string, Context context) {
NavEvent navEvent = new NavEvent(5);
navEvent.parentOrd = bOrd;
navEvent.oldChildName = string;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeReplaced(BINavNode bINavNode, String string, Context context) {
NavEvent navEvent = NavEvent.makeReplaced(bINavNode.getNavOrd(), string, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent makeRecategorized(BOrd bOrd, String string, String string2, Context context) {
NavEvent navEvent = new NavEvent(6);
navEvent.parentOrd = bOrd;
navEvent.oldChildName = string;
navEvent.newChildName = string2;
navEvent.context = context;
return navEvent;
}
public static NavEvent makeRecategorized(BOrd bOrd, BCategoryMask bCategoryMask, BCategoryMask bCategoryMask2, Context context) {
return NavEvent.makeRecategorized(bOrd, bCategoryMask.encodeToString(), bCategoryMask2.encodeToString(), context);
}
public static NavEvent makeRecategorized(BINavNode bINavNode, BCategoryMask bCategoryMask, BCategoryMask bCategoryMask2, Context context) {
NavEvent navEvent = NavEvent.makeRecategorized(bINavNode.getNavOrd(), bCategoryMask, bCategoryMask2, context);
navEvent.parent = bINavNode;
return navEvent;
}
public static NavEvent make(NavEvent navEvent, BOrd bOrd) {
NavEvent navEvent2 = new NavEvent(navEvent.id);
navEvent2.parentOrd = bOrd;
navEvent2.oldChildName = navEvent.oldChildName;
navEvent2.newChildName = navEvent.newChildName;
navEvent2.newOrder = navEvent.newOrder;
navEvent2.context = navEvent.context;
return navEvent2;
}
public int getId() {
return this.id;
}
public BOrd getParentOrd() {
return this.parentOrd;
}
public BINavNode getParent() {
return this.parent;
}
public String getOldChildName() {
return this.oldChildName;
}
public String getNewChildName() {
return this.newChildName;
}
public BOrd getOldChildOrd() {
if (this.oldChildOrd == null) {
this.oldChildOrd = this.toChildOrd(this.oldChildName);
}
return this.oldChildOrd;
}
public BOrd getNewChildOrd() {
if (this.newChildOrd == null) {
this.newChildOrd = this.toChildOrd(this.newChildName);
}
return this.newChildOrd;
}
public String[] getNewOrder() {
return this.newOrder;
}
public Context getContext() {
return this.context;
}
public BFacets getFacets() {
if (this.context != null) {
return BFacets.make(this.context.getFacets());
}
return BFacets.NULL;
}
public String toString() {
StringBuffer stringBuffer = new StringBuffer("NavEvent[");
stringBuffer.append(ID_STRINGS[this.id]).append(" p=").append(this.parentOrd);
if (this.oldChildName != null) {
stringBuffer.append(" old=").append(this.oldChildName);
}
if (this.newChildName != null) {
stringBuffer.append(" new=").append(this.newChildName);
}
if (this.newOrder != null) {
stringBuffer.append(" order.len=").append(this.newOrder.length);
}
stringBuffer.append("]");
return stringBuffer.toString();
}
private final BOrd toChildOrd(String string) {
if (string == null) {
return null;
}
String string2 = this.parentOrd.toString();
OrdQuery[] ordQueryArray = this.parentOrd.parse();
OrdQuery ordQuery = ordQueryArray[ordQueryArray.length - 1];
if (ordQuery instanceof Path) {
Path path = (Path)((Object)ordQuery);
if (path.depth() == 0) {
return BOrd.make(string2 + string);
}
return BOrd.make(string2 + '/' + string);
}
return BOrd.make(string2 + '|' + string + ':');
}
private NavEvent(int n) {
this.id = n;
}
}
@@ -0,0 +1,160 @@
/*
* Decompiled with CFR 0.152.
*
* Could not load the following classes:
* javax.baja.xml.XElem
* javax.baja.xml.XException
* javax.baja.xml.XParser
*/
package javax.baja.nav;
import java.io.BufferedInputStream;
import java.io.InputStream;
import java.util.HashMap;
import javax.baja.file.BIFile;
import javax.baja.naming.BOrd;
import javax.baja.nav.BNavContainer;
import javax.baja.nav.BNavFileNode;
import javax.baja.nav.BNavFileSpace;
import javax.baja.sys.BIcon;
import javax.baja.sys.BObject;
import javax.baja.xml.XElem;
import javax.baja.xml.XException;
import javax.baja.xml.XParser;
public class NavFileDecoder
extends XParser {
static HashMap cache = new HashMap();
BOrd baseOrd;
public static BNavFileSpace load(BOrd bOrd) throws Exception {
BObject bObject = bOrd.get();
if (bObject instanceof BIFile) {
return NavFileDecoder.load((BIFile)((Object)bObject));
}
throw new ClassCastException("Not IFile: " + bOrd + " -> " + bObject.getType());
}
public static BNavFileSpace load(BIFile bIFile) throws Exception {
String string = bIFile.getAbsoluteOrd().toString();
CacheItem cacheItem = (CacheItem)cache.get(string);
if (cacheItem == null || cacheItem.isOutOfDate()) {
cacheItem = new CacheItem();
cacheItem.file = bIFile;
cacheItem.lastModified = bIFile.getLastModified().getMillis();
cacheItem.space = new NavFileDecoder(bIFile).decodeDocument();
cache.put(string, cacheItem);
}
return cacheItem.space;
}
public BNavFileSpace decodeDocument() throws Exception {
return this.decodeDocument(true);
}
/*
* WARNING - Removed try catching itself - possible behaviour change.
*/
public BNavFileSpace decodeDocument(boolean bl) throws Exception {
BNavFileSpace bNavFileSpace;
block5: {
try {
XElem xElem = this.parse();
if (!xElem.name().equals("nav")) {
throw this.err("Root element must be \"nav\"", xElem);
}
String string = xElem.get("version");
if (!string.equals("1.0")) {
throw this.err("Only version 1.0 is supported", xElem);
}
XElem xElem2 = xElem.elem("node");
if (xElem2 == null) {
throw this.err("Missing root <node>", xElem);
}
bNavFileSpace = new BNavFileSpace(this.decodeNode(xElem2));
Object var3_6 = null;
if (!bl) break block5;
}
catch (Throwable throwable) {
block6: {
Object var3_7 = null;
if (!bl) break block6;
this.close();
}
throw throwable;
}
this.close();
}
return bNavFileSpace;
}
private final BNavFileNode decodeNode(XElem xElem) throws Exception {
Object object;
Object object2;
String string = null;
String string2 = null;
Object object3 = null;
int n = 0;
while (n < xElem.attrSize()) {
object2 = xElem.attrName(n);
object = xElem.attrValue(n);
if (((String)object2).equals("name")) {
string = object;
} else if (((String)object2).equals("ord")) {
string2 = object;
} else if (((String)object2).equals("icon")) {
object3 = object;
}
++n;
}
BOrd bOrd = BOrd.make(this.baseOrd, string2);
bOrd = bOrd.normalize();
object2 = null;
if (object3 != null) {
object2 = ((String)object3).startsWith("module:") ? BIcon.make((String)object3) : BIcon.make(BOrd.make(this.baseOrd, (String)object3).normalize());
}
object = new BNavFileNode(string, bOrd, (BIcon)object2);
XElem[] xElemArray = xElem.elems("node");
int n2 = 0;
while (n2 < xElemArray.length) {
((BNavContainer)object).addNavChild(this.decodeNode(xElemArray[n2]));
++n2;
}
return object;
}
XException err(String string, XElem xElem, Throwable throwable) {
return new XException(string, xElem, throwable);
}
XException err(String string, XElem xElem) {
return new XException(string, xElem);
}
public NavFileDecoder(BIFile bIFile) throws Exception {
this(bIFile.getSession().getAbsoluteOrd(), new BufferedInputStream(bIFile.getInputStream()));
}
public NavFileDecoder(BOrd bOrd, InputStream inputStream) throws Exception {
super(inputStream);
this.baseOrd = bOrd;
}
static class CacheItem {
BIFile file;
long lastModified;
BNavFileSpace space;
boolean isOutOfDate() {
boolean bl = false;
if (this.lastModified != this.file.getLastModified().getMillis()) {
bl = true;
}
return bl;
}
CacheItem() {
}
}
}
@@ -0,0 +1,11 @@
/*
* Decompiled with CFR 0.152.
*/
package javax.baja.nav;
import javax.baja.nav.NavEvent;
public interface NavListener {
public void navEvent(NavEvent var1);
}