private static void simpleTest() throws Exception { // load the class without initialization new Statement(Class.class, "forName", new Object[]{ "ClassForName$Bean", false, Bean.class.getClassLoader() }).execute(); if (initialized) { throw new RuntimeException("Should not be initialized"); } // load the class and initialize it new Statement(Class.class, "forName", new Object[]{ "ClassForName$Bean", true, Bean.class.getClassLoader() }).execute(); if (!initialized) { throw new RuntimeException("Should be initialized"); } }
@SuppressWarnings("unchecked") public static <E> void setMethodValue(E obj, Method method, Object... args) { try { method.setAccessible(true); method.invoke(obj, args); } catch (InvocationTargetException | IllegalAccessException | IllegalArgumentException e) { // e.printStackTrace(); try { if (obj != null) { Statement stmt = new Statement(obj, method.getName(), args); stmt.execute(); } } catch (Exception e1) { // e1.printStackTrace(); } } }
public static void setQueryTimeout(java.sql.Statement stmt, int timeout) throws SQLException { if (timeout < 0) { LOG.info("Invalid query timeout " + timeout); return; } try { stmt.setQueryTimeout(timeout); } catch (SQLException e) { String message = e.getMessage() == null ? null : e.getMessage().toLowerCase(); if (e instanceof SQLFeatureNotSupportedException || (message != null && (message.contains("implemented") || message.contains("supported")))) { LOG.info("setQueryTimeout is not supported"); return; } throw e; } }
@Override protected void initialize(Class type, Object oldInstance, Object newInstance, Encoder out) { // p("image painter delegate called"); super.initialize(type, oldInstance, newInstance, out); //p("old instance = " + oldInstance); //p("owner = " + ((XMLEncoder)out).getOwner()); PersistenceOwner owner = (PersistenceOwner)((XMLEncoder)out).getOwner(); ImagePainter ip = (ImagePainter)oldInstance; // p("need to convert string: " + ip.getImageString()); // String s = owner.toXMLURL(ip.getImageString()); // p("converted to: " + s); //out.writeExpression(new Expression(oldInstance,owner,"fromXMLURL",new Object[]{ip.getImageString()})); //out.writeStatement(new Statement(owner,"fromXMLURL",new Object[]{ip.getImageString()})); //out.writeStatement(new Statement(oldInstance,"setImageString",new Object[]{ //new Expression(oldInstance,owner,"fromXMLURL",new Object[]{ip.getImageString()}) //})); out.writeStatement(new Statement(oldInstance,"setResolver",new Object[]{owner})); // out.writeStatement(new Statement(oldInstance,"setImageString",new Object[]{s})); }
public void testInitialize_NormalBeanInfo() throws Exception { CollectingEncoder enc = new CollectingEncoder(); MockPersistenceDelegate pd = new MockPersistenceDelegate(); MockFoo2 b = new MockFoo2(2); MockFoo2 b2 = new MockFoo2(3); Iterator<Statement> iter; pd.writeObject(b, enc); pd.writeObject(b2, enc); enc.clearCache(); pd.initialize(MockFoo2.class, b, b2, enc); // XXX RI stores much more statements to the stream iter = enc.statements(); // assertNotNull("required statement not found", // findStatement(iter, b, "myget", null)); assertNotNull("required statement not found", findStatement(iter, null, "myset", new Object[] { new Integer(2) })); }
public void setValueAt(Object obj, int row, int col) { Field field = data.get(row); if (field != null) { try { switch (col) { case 1: if (field.getType().getSimpleName().equalsIgnoreCase("int")) { new Statement(appContext, methods.get("set" + field.getName().toLowerCase()).getName(), new Object[]{Integer.parseInt((String) obj)}).execute(); } else if (field.getType().getSimpleName().equalsIgnoreCase("boolean")) { field.set(appContext, Boolean.parseBoolean((String) obj)); } else if (field.getType().getSimpleName().equalsIgnoreCase("string")) { field.set(appContext, obj); } } } catch (Exception e) { e.printStackTrace(); } } super.fireTableDataChanged(); }
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) { super.initialize(type, oldInstance, newInstance, out); Public<String, String> map = (Public) oldInstance; for (Entry<String, String> entry : map.getAll()) { String[] args = {entry.getKey(), entry.getValue()}; out.writeStatement(new Statement(oldInstance, "put", args)); } }
private static void testStatement() { Object[] array = { new Object() }; Statement statement = new Statement(null, null, array); test(statement.getArguments()); array[0] = null; test(statement.getArguments()); statement.getArguments()[0] = null; test(statement.getArguments()); }
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) { java.util.Collection oldO = (java.util.Collection) oldInstance; java.util.Collection newO = (java.util.Collection) newInstance; if (newO.size() != 0) { out.writeStatement(new Statement(oldInstance, "clear", new Object[] {})); } for (Iterator i = oldO.iterator(); i.hasNext();) { out.writeStatement(new Statement(oldInstance, "add", new Object[] {i.next()})); } }
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) { Timestamp ts = (Timestamp)oldInstance; Object[] args = { ts.getNanos() }; Statement stmt = new Statement(oldInstance, "setNanos", args); out.writeStatement(stmt); }
@Override protected void initialize(Class type, Object oldInstance, Object newInstance, Encoder out) { Iterator ite = ((Collection) oldInstance).iterator(); while (ite.hasNext()) { out.writeStatement(new Statement(oldInstance, "add", new Object[] {ite.next()})); } }
protected void initialize(Class type, Object oldInstance, Object newInstance, Encoder out) { Iterator ite = ((Collection) oldInstance).iterator(); while (ite.hasNext()) { out.writeStatement(new Statement(oldInstance, "add", new Object[] { ite.next() })); } }
/** Scans the argument and calls one of event methods. See * the introduction of this class for details. * * @param stmt The statement to serialize. */ public void writeStatement(Statement stmt) { // This is a simplified version of writeExpression. Everything // that would not create something that is embedded in a <void> tag // is left out (instantiation, getters, ...). // TODO: Is this the right thing to do? String methodName = stmt.getMethodName(); Object target = stmt.getTarget(); Object[] args = stmt.getArguments(); if (target == Array.class && methodName.equals("set")) { arraySet(args[1].toString()); return; } if (target instanceof List) { if (methodName.equals("set")) { listSet(); return; } } // If nothing else could be used then this is a normal // method invocation. methodInvocation(methodName); }
protected void initialize(Class type, Object oldInstance, Object newInstance, Encoder out) { Map map = (Map) oldInstance; Iterator ite = map.keySet().iterator(); while (ite.hasNext()) { Object key = ite.next(); out.writeStatement(new Statement(oldInstance, "put", new Object[] { key, map.get(key) })); } }
public BooleanInvocationHandler(Object target, String methodName) { // Create the true and false statements. falseStatement = new Statement(target, methodName, new Object[] { Boolean.FALSE }); trueStatement = new Statement(target, methodName, new Object[] { Boolean.TRUE }); }
@Override public void itemStateChanged(ItemEvent evt) { Statement statement = (evt.getStateChange() == ItemEvent.DESELECTED) ? falseStatement : trueStatement; try { statement.execute(); } catch (Exception ex) { LOG.log(Level.FINE, "Couldn't execute boolean method via Statement " + statement, ex); } }
@Override protected Expression instantiate(Object oldInstance, Encoder out) { Area a = (Area)oldInstance; //use the default constructor AffineTransform tx = new AffineTransform(); PathIterator itr = a.getPathIterator(tx); GeneralPath path = new GeneralPath(); out.writeExpression(new Expression(path, GeneralPath.class, "new", new Object[0])); while (!itr.isDone()) { float[] segment = new float[6]; //must use floats because lineTo etc use floats int pathType = itr.currentSegment(segment); switch (pathType) { case PathIterator.SEG_CLOSE: out.writeStatement(new Statement(path, "closePath", new Object[0])); break; case PathIterator.SEG_CUBICTO: out.writeStatement(new Statement(path, "curveTo", new Object[] {segment[0], segment[1], segment[2], segment[3], segment[4], segment[5]})); break; case PathIterator.SEG_LINETO: out.writeStatement(new Statement(path, "lineTo", new Object[] {segment[0], segment[1]})); break; case PathIterator.SEG_MOVETO: out.writeStatement(new Statement(path, "moveTo", new Object[] {segment[0], segment[1]})); break; case PathIterator.SEG_QUADTO: out.writeStatement(new Statement(path, "quadTo", new Object[] {segment[0], segment[1], segment[2], segment[3]})); break; } itr.next(); } return new Expression(a, Area.class, "new", new Object[] {path}); }
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) { GeneralPath a = (GeneralPath)oldInstance; AffineTransform tx = new AffineTransform(); PathIterator itr = a.getPathIterator(tx); out.writeStatement(new Statement(a, "setWindingRule", new Object[] {a.getWindingRule()})); while (!itr.isDone()) { float[] segment = new float[6]; //must use floats because lineTo etc use floats int pathType = itr.currentSegment(segment); switch (pathType) { case PathIterator.SEG_CLOSE: out.writeStatement(new Statement(a, "closePath", new Object[0])); break; case PathIterator.SEG_CUBICTO: out.writeStatement(new Statement(a, "curveTo", new Object[] {segment[0], segment[1], segment[2], segment[3], segment[4], segment[5]})); break; case PathIterator.SEG_LINETO: out.writeStatement(new Statement(a, "lineTo", new Object[] {segment[0], segment[1]})); break; case PathIterator.SEG_MOVETO: out.writeStatement(new Statement(a, "moveTo", new Object[] {segment[0], segment[1]})); break; case PathIterator.SEG_QUADTO: out.writeStatement(new Statement(a, "quadTo", new Object[] {segment[0], segment[1], segment[2], segment[3]})); break; } itr.next(); } }
@Override protected void initialize(Class<?> type, Object oldInstance, Object newInstance, Encoder out) { //u.p("rh init "); RenderingHints rh = (RenderingHints)oldInstance; out.writeStatement(new Statement(oldInstance, "put", new Object[] {RenderingHints.KEY_ANTIALIASING, RenderingHints.VALUE_ANTIALIAS_ON})); //u.p("done"); }
public void itemStateChanged(ItemEvent evt) { Statement statement = (evt.getStateChange() == ItemEvent.DESELECTED) ? falseStatement : trueStatement; try { statement.execute(); } catch (Exception ex) { LOG.log(Level.FINE, "Couldn't execute boolean method via Statement " + statement, ex); } }