SourceWarning sw = (SourceWarning)exception; out.writeUTF(sw.getConnectorBindingName()); out.writeUTF(sw.getModelName()); out.writeBoolean(sw.isPartialResultsError());
SourceWarning sw = (SourceWarning)exception; out.writeUTF(sw.getConnectorBindingName()); out.writeUTF(sw.getModelName()); out.writeBoolean(sw.isPartialResultsError());
@Test public void testSourceWarning() throws Exception { ClassLoader cl = new URLClassLoader(new URL[] {UnitTestUtil.getTestDataFile("test.jar").toURI().toURL()}); //$NON-NLS-1$ ArrayList<String> args = new ArrayList<String>(); args.add("Unknown Exception"); //$NON-NLS-1$ Exception obj = (Exception)ReflectionHelper.create("test.UnknownException", args, cl); //$NON-NLS-1$ ByteArrayOutputStream baos = new ByteArrayOutputStream(); ObjectOutputStream oos = new ObjectOutputStream(baos); oos.writeObject(new ExceptionHolder(new SourceWarning("x", "y", obj, true))); oos.flush(); ObjectInputStream ois = new ObjectInputStream(new ByteArrayInputStream(baos.toByteArray())); ExceptionHolder holder = (ExceptionHolder)ois.readObject(); SourceWarning sw = (SourceWarning)holder.getException(); assertEquals(sw.getConnectorBindingName(), "y"); assertEquals(sw.getModelName(), "x"); assertTrue(sw.isPartialResultsError()); try { ois = new ObjectInputStream(new FileInputStream(UnitTestUtil.getTestDataFile("old-exceptionholder.ser"))); holder = (ExceptionHolder)ois.readObject(); assertTrue(holder.getException() instanceof TeiidException); } finally { ois.close(); } } }
/** * Used to wrap warnings/exceptions into SQLWarning. * The chain of warnings is translated into a chain of SQLWarnings. * @param reason String object which is the description of the warning. * @param ex Throwable object which needs to be wrapped. */ static SQLWarning createWarning(Throwable ex) { String sourceName = null; String modelName = null; if(ex instanceof SourceWarning) { SourceWarning exception = (SourceWarning)ex; if (exception.isPartialResultsError()) { PartialResultsWarning warning = new PartialResultsWarning(JDBCPlugin.Util.getString("WarningUtil.Failures_occurred")); //$NON-NLS-1$ warning.addConnectorFailure(exception.getConnectorBindingName(), TeiidSQLException.create(exception)); return warning; } ex = exception.getCause(); sourceName = exception.getConnectorBindingName(); modelName = exception.getModelName(); } String code = null; if (ex instanceof TeiidException) { code = ((TeiidException)ex).getCode(); } return new TeiidSQLWarning(ex.getMessage(), code, ex, sourceName, modelName); }
/** * Used to wrap warnings/exceptions into SQLWarning. * The chain of warnings is translated into a chain of SQLWarnings. * @param reason String object which is the description of the warning. * @param ex Throwable object which needs to be wrapped. */ static SQLWarning createWarning(Throwable ex) { String sourceName = null; String modelName = null; if(ex instanceof SourceWarning) { SourceWarning exception = (SourceWarning)ex; if (exception.isPartialResultsError()) { PartialResultsWarning warning = new PartialResultsWarning(JDBCPlugin.Util.getString("WarningUtil.Failures_occurred")); //$NON-NLS-1$ warning.addConnectorFailure(exception.getConnectorBindingName(), TeiidSQLException.create(exception)); return warning; } ex = exception.getCause(); sourceName = exception.getConnectorBindingName(); modelName = exception.getModelName(); } String code = null; if (ex instanceof TeiidException) { code = ((TeiidException)ex).getCode(); } return new TeiidSQLWarning(ex.getMessage(), code, ex, sourceName, modelName); }