private boolean isRichText(Column c) throws IOException { if (c == null) { return false; } PropertyMap m = c.getProperties(); if (m == null) { return false; } if (c.getType() == null || ! c.getType().equals(DataType.MEMO)) { return false; } Object b = m.getValue(TEXT_FORMAT_KEY); if (b instanceof Byte) { if (((Byte)b).byteValue() == RICH_TEXT_FORMAT) { return true; } } return false; }
private void saveColumnsDefaults(String[] defaults, Boolean[] required, Column cl, int j) throws IOException { PropertyMap map = cl.getProperties(); if (defaults != null && j < defaults.length && defaults[j] != null) { map.put(PropertyMap.DEFAULT_VALUE_PROP, DataType.TEXT, defaults[j]); } if (required != null && j < required.length && required[j] != null && !cl.isAutoNumber()) { map.put(PropertyMap.REQUIRED_PROP, DataType.BOOLEAN, required[j]); } map.save(); }
public static String toString(PropertyMap map) { StringBuilder sb = new StringBuilder(); sb.append(PropertyMaps.DEFAULT_NAME.equals(map.getName()) ? "<DEFAULT>" : map.getName()) .append(" {"); for(Iterator<Property> iter = map.iterator(); iter.hasNext(); ) { sb.append(iter.next()); if(iter.hasNext()) { sb.append(","); } } sb.append("}"); return sb.toString(); }
/** * Creates a new Database using the configured information. */ public Database create() throws IOException { Database db = DatabaseImpl.create(_fileFormat, _mdbFile, _channel, _autoSync, _charset, _timeZone); if(_dbProps != null) { PropertyMap props = db.getDatabaseProperties(); props.putAll(_dbProps.values()); props.save(); } if(_summaryProps != null) { PropertyMap props = db.getSummaryProperties(); props.putAll(_summaryProps.values()); props.save(); } if(_userProps != null) { PropertyMap props = db.getUserDefinedProperties(); props.putAll(_userProps.values()); props.save(); } return db; }
@Override public Property put(String name, DataType type, Object value, boolean isDdl) { // the only property which seems to go in the "primary" is the "multi // value" property if(isPrimaryKey(name)) { return _primary.put(name, DataType.BOOLEAN, value, true); } return _complex.put(name, type, value, isDdl); }
@Override public String getName() { return _primary.getName(); }
Map<String,PropertyMap.Property> props = table.getProperties(); if(props != null) { newTable.getProperties().putAll(props.values()); addedProps = true; if(colProps != null) { newTable.getColumn(cb.getName()).getProperties() .putAll(colProps.values()); addedProps = true; newTable.getProperties().save();
if (summaryProperties != null) { PropertyMap.Property title = summaryProperties.get(TITLE_PROP_KEY); if (title != null) { parentMetadata.set(TikaCoreProperties.TITLE, toString(title.getValue(), title.getType())); found.add(title.getName()); PropertyMap.Property author = summaryProperties.get(AUTHOR_PROP_KEY); if (author != null && author.getValue() != null) { String authorString = toString(author.getValue(), author.getType()); found.add(author.getName()); PropertyMap.Property company = summaryProperties.get(COMPANY_PROP_KEY); if (company != null) { parentMetadata.set(OfficeOpenXMLExtended.COMPANY, toString(company.getValue(), company.getType()));
public static String getTrimmedStringProperty( PropertyMap props, String propName) { return DatabaseImpl.trimToNull((String)props.getValue(propName)); }
private String getUpdateConditions(Column cl) throws IOException, SQLException { PropertyMap map = cl.getProperties(); Property exprp = map.get(PropertyMap.EXPRESSION_PROP); if (exprp != null) { Set<String> setu = SQLConverter.getFormulaDependencies(exprp.getValue().toString()); if (setu.size() > 0) { String or = ""; StringBuffer cw = new StringBuffer(); for (String dep : setu) { dep = escapeIdentifier(dep); cw.append(or).append("oldrow.").append(dep).append("<>").append("newrow.").append(dep); or = " OR "; } return cw.toString(); } } return " FALSE "; }
public String defaultValue4SQL(Column cl) throws SQLException, IOException { PropertyMap pm = cl.getProperties(); Object defaulT = pm.getValue(PropertyMap.DEFAULT_VALUE_PROP); if (defaulT == null) { return null; } return this.tablesLoader.defaultValue4SQL(defaulT, cl.getType()); }
private DataType getReturnType(Column cl) throws IOException { if (cl.getProperties().get(PropertyMap.EXPRESSION_PROP) == null || cl.getProperties().get(PropertyMap.RESULT_TYPE_PROP) == null) { return null; } byte pos = (Byte) cl.getProperties().get(PropertyMap.RESULT_TYPE_PROP).getValue(); return DataType.fromByte(pos); }
private boolean isRichText(Column c) throws IOException { if (c == null) { return false; } PropertyMap m = c.getProperties(); if (m == null) { return false; } if (c.getType() == null || ! c.getType().equals(DataType.MEMO)) { return false; } Object b = m.getValue(TEXT_FORMAT_KEY); if (b instanceof Byte) { if (((Byte)b).byteValue() == RICH_TEXT_FORMAT) { return true; } } return false; }
private Object readColumnProperty(com.healthmarketscience.jackcess.Column column, String propertyName, Object defaultValue) throws IOException { PropertyMap.Property property = column.getProperties().get(propertyName); if (property != null) return property.getValue(); return defaultValue; }
@Override public FileFormat getFileFormat() throws IOException { if(_fileFormat == null) { Map<String,FileFormat> possibleFileFormats = getFormat().getPossibleFileFormats(); if(possibleFileFormats.size() == 1) { // single possible format (null key), easy enough _fileFormat = possibleFileFormats.get(null); } else { // need to check the "AccessVersion" property String accessVersion = (String)getDatabaseProperties().getValue( PropertyMap.ACCESS_VERSION_PROP); if(isBlank(accessVersion)) { // no access version, fall back to "generic" accessVersion = null; } _fileFormat = possibleFileFormats.get(accessVersion); if(_fileFormat == null) { throw new IllegalStateException(withErrorContext( "Could not determine FileFormat")); } } } return _fileFormat; }
private String getExpression(Column cl) throws IOException { PropertyMap map = cl.getProperties(); Property exprp = map.get(PropertyMap.EXPRESSION_PROP); if (exprp != null) { Table tl = cl.getTable(); String expr = SQLConverter.convertPowOperator((String) exprp.getValue()); for (Column cl1 : tl.getColumns()) { expr = expr.replaceAll("\\[(?i)(" + Pattern.quote(cl1.getName()) + ")\\]", "newrow.$0"); } return expr; } return null; }