/** * Unsets several fields at once * @param flds - array of fields to be unset from this ISOMsg */ public void unset (int[] flds) { for (int fld : flds) unset(fld); }
@Override public void unset(String fpath) { delegate.unset(fpath); }
@Override public void unset(final int fldno) { delegate.unset(fldno); }
@Override public void unset(int[] flds) { delegate.unset(flds); }
/** * moves a field (renumber) * @param oldFieldNumber old field number * @param newFieldNumber new field number * @throws ISOException on error */ public void move (int oldFieldNumber, int newFieldNumber) throws ISOException { ISOComponent c = getComponent (oldFieldNumber); unset (oldFieldNumber); if (c != null) { c.setFieldNumber (newFieldNumber); set (c); } else unset (newFieldNumber); }
/** * Creates an ISOBinaryField associated with fldno within this ISOMsg. * * @param fldno field number * @param value field value */ public void set(int fldno, byte[] value) { if (value == null) { unset(fldno); return; } try { set(new ISOBinaryField(fldno, value)); } catch (ISOException ex) {}; //NOPMD: never happens for the given arguments of set methods }
public ISOMsg filter (ISOChannel channel, ISOMsg m, LogEvent evt) throws VetoException { try { applyProps (m); if (validFields.length > 0) m = (ISOMsg) m.clone (validFields); if (unsetFields.length > 0) m.unset (unsetFields); } catch (ISOException e) { evt.addMessage (e); throw new VetoException (e); } return m; } private void applyProps (ISOMsg m) throws ISOException {
private ISOMsg applyRequestProps (ISOMsg m, Interpreter bsh) throws ISOException, EvalError { int maxField = m.getMaxField(); for (int i=0; i<=maxField; i++) { if (m.hasField(i)) { ISOComponent c = m.getComponent (i); if (c instanceof ISOMsg) { applyRequestProps ((ISOMsg) c, bsh); } else if (c instanceof ISOField) { String value = (String) c.getValue(); if (value.length() > 0) { try { if (value.charAt (0) == '!') { m.set (i, bsh.eval (value.substring(1)).toString()); } else if (value.charAt (0) == '#') { m.set (i, ISOUtil.hex2byte(bsh.eval (value.substring(1)).toString())); } } catch (NullPointerException e) { m.unset (i); } } } } } return m; } private long percentage (long a, long b) {
@Test public void testUnset3() throws Throwable { ISOMsg iSOMsg = new ISOMsg(); int[] flds = new int[1]; iSOMsg.unset(flds); assertEquals("iSOMsg.fields.size()", 0, iSOMsg.fields.size()); }
@Test public void testUnset() throws Throwable { ISOMsg iSOMsg = new ISOMsg(); iSOMsg.unset(100); assertEquals("iSOMsg.fields.size()", 0, iSOMsg.fields.size()); }
@Test public void testUnset2() throws Throwable { ISOMsg iSOMsg = new ISOMsg(); int[] flds = new int[0]; iSOMsg.unset(flds); assertEquals("iSOMsg.fields.size()", 0, iSOMsg.fields.size()); assertTrue("iSOMsg.dirty", iSOMsg.dirty); assertTrue("iSOMsg.maxFieldDirty", iSOMsg.maxFieldDirty); }
@Test public void testUnset1() throws Throwable { ISOMsg iSOMsg = new ISOMsg(); iSOMsg.setMTI("testISOMsgMti"); iSOMsg.move(0, -2147483647); iSOMsg.unset(-2147483647); assertEquals("iSOMsg.fields.size()", 0, iSOMsg.fields.size()); assertFalse("iSOMsg.fields.containsKey(Integer.valueOf(-2147483647))", iSOMsg.fields.containsKey(Integer.valueOf(-2147483647))); assertTrue("iSOMsg.dirty", iSOMsg.dirty); assertTrue("iSOMsg.maxFieldDirty", iSOMsg.maxFieldDirty); }
/** * Creates an ISOField associated with fldno within this ISOMsg. * * @param fldno field number * @param value field value */ public void set(int fldno, String value) { if (value == null) { unset(fldno); return; } try { if (!(packager instanceof ISOBasePackager)) { // No packager is available, we can't tell what the field // might be, so treat as a String! set(new ISOField(fldno, value)); } else { // This ISOMsg has a packager, so use it Object obj = ((ISOBasePackager) packager).getFieldPackager(fldno); if (obj instanceof ISOBinaryFieldPackager) { set(new ISOBinaryField(fldno, ISOUtil.hex2byte(value))); } else { set(new ISOField(fldno, value)); } } } catch (ISOException ex) {}; //NOPMD: never happens for the given arguments of set methods }
m.clone(savedFields) : m.clone()); int[] ignoredFields = getIgnoredFields(); if (ignoredFields != null) saved.unset(ignoredFields); getSpace().out(skey, saved, getTimeout()); return m;