public void setInput(Input input) throws IOException { super.setInput(input); Object stuff; XStream xstr = XStreamFactory.forVersion(0.2); try { stuff = xstr.fromXML(input.getReader()); } catch (Exception e) { xstr = XStreamFactory.forVersion(0.1); try { System.out.println("trying to read JRS v0.1"); stuff = xstr.fromXML(input.copy().getReader()); System.out.println("JRS v0.1 success."); } catch (Exception e2) { throw new IOException("illegal JRS file"); } } if (stuff instanceof JrScene) { read = (JrScene) stuff; root = read.getSceneRoot(); } else { if (stuff instanceof SceneGraphComponent) root = (SceneGraphComponent) stuff; else { root = new SceneGraphComponent(); root.setName("jrs"); SceneGraphUtility.addChildNode(root, (SceneGraphNode) stuff); } } }
@Override public void setContent(SceneGraphNode node) { boolean fire = getContentNode() != node; if (getContentNode() != null) { SceneGraphUtility.removeChildNode(scalingComponent, getContentNode()); } setContentNode(node); if (getContentNode() != null) { SceneGraphUtility.addChildNode(scalingComponent, getContentNode()); alignContent(); } if (fire) { ContentChangedEvent cce = new ContentChangedEvent(ChangeEventType.ContentChanged); cce.node = node; fireContentChanged(cce); } }
private SceneGraphComponent wrap(SceneGraphNode node) { if (node instanceof SceneGraphComponent) return (SceneGraphComponent) node; SceneGraphComponent wrap = new SceneGraphComponent("wrapper"); SceneGraphUtility.addChildNode(wrap, node); return wrap; }