private String getInitPropWithReplacements(String propertyName) { final String expr = initProps.getProperty(propertyName); if (expr == null) { return null; } return context.replaceTokens(expr); }
@Override public void init(Context context, Properties initProps) { initProps = decryptPwd(initProps); Object o = initProps.get(CONVERT_TYPE); if (o != null) convertType = Boolean.parseBoolean(o.toString()); factory = createConnectionFactory(context, initProps); String bsz = initProps.getProperty("batchSize"); if (bsz != null) { bsz = context.replaceTokens(bsz); try { batchSize = Integer.parseInt(bsz); if (batchSize == -1) batchSize = Integer.MIN_VALUE; } catch (NumberFormatException e) { LOG.warn("Invalid batch size: " + bsz); } } for (Map<String, String> map : context.getAllEntityFields()) { String n = map.get(DataImporter.COLUMN); String t = map.get(DataImporter.TYPE); if ("sint".equals(t) || "integer".equals(t)) fieldNameVsType.put(n, Types.INTEGER); else if ("slong".equals(t) || "long".equals(t)) fieldNameVsType.put(n, Types.BIGINT); else if ("float".equals(t) || "sfloat".equals(t)) fieldNameVsType.put(n, Types.FLOAT); else if ("double".equals(t) || "sdouble".equals(t)) fieldNameVsType.put(n, Types.DOUBLE); else if ("date".equals(t)) fieldNameVsType.put(n, Types.DATE); else if ("boolean".equals(t)) fieldNameVsType.put(n, Types.BOOLEAN); else if ("binary".equals(t)) fieldNameVsType.put(n, Types.BLOB); else fieldNameVsType.put(n, Types.VARCHAR); } }
private void resolveVariables(Context ctx, Properties initProps) { for (Map.Entry<Object, Object> entry : initProps.entrySet()) { if (entry.getValue() != null) { entry.setValue(ctx.replaceTokens((String) entry.getValue())); } } }
@Override public Object transformRow(Map<String, Object> row, Context ctx) { String expr = ctx.getEntityAttribute(LOG_TEMPLATE); String level = ctx.replaceTokens(ctx.getEntityAttribute(LOG_LEVEL)); if (expr == null || level == null) return row; if ("info".equals(level)) { if (LOG.isInfoEnabled()) LOG.info(ctx.replaceTokens(expr)); } else if ("trace".equals(level)) { if (LOG.isTraceEnabled()) LOG.trace(ctx.replaceTokens(expr)); } else if ("warn".equals(level)) { if (LOG.isWarnEnabled()) LOG.warn(ctx.replaceTokens(expr)); } else if ("error".equals(level)) { if (LOG.isErrorEnabled()) LOG.error(ctx.replaceTokens(expr)); } else if ("debug".equals(level)) { if (LOG.isDebugEnabled()) LOG.debug(ctx.replaceTokens(expr)); } return row; }
@Override public String replaceTokens(String template) { return delegate.replaceTokens(template); }