public ActionInsertFactCol52ActionInsertFactAdaptor(final ActionInsertFactCol52 action) {
   PortablePreconditions.checkNotNull("action", action);
   this.action = action;
   this.setFactType(action.getFactType());
   final ActionFieldValue afv = new ActionFieldValue();
   afv.setField(action.getFactField());
   afv.setNature(BaseSingleFieldConstraint.TYPE_LITERAL);
   afv.setType(action.getType());
   super.addFieldValue(afv);
 }
 @Override
 public boolean hasEnums(final ActionInsertFactCol52 selectedAction) {
   for (Map.Entry<ActionInsertFactFieldsPattern, List<ActionInsertFactCol52>> e :
       this.patternToActionsMap.entrySet()) {
     if (e.getValue().contains(selectedAction)) {
       final String factType = e.getKey().getFactType();
       final String factField = selectedAction.getFactField();
       return this.oracle.hasEnums(factType, factField);
     }
   }
   return false;
 }
  private String getType(final ActionInsertFactCol52 col) {

    // Columns with "Value Lists" etc are always Text (for now)
    if (hasValueList(col)) {
      return DataType.TYPE_STRING;
    }

    // Otherwise lookup from SuggestionCompletionEngine
    final String factType = col.getFactType();
    final String fieldName = col.getFactField();
    return getTypeFromDataOracle(factType, fieldName);
  }