link start!
This commit is contained in:
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user