org.eclipse.jface.dialogs.DialogSettings Java Examples

The following examples show how to use org.eclipse.jface.dialogs.DialogSettings. You can vote up the ones you like or vote down the ones you don't like, and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example #1
Source File: CriteriaTest.java    From tracecompass with Eclipse Public License 2.0 6 votes vote down vote up
/**
 * Test save to disk.
 */
@Test
public void testSave() {
    DialogSettings settings = new DialogSettings("mysettings");

    Criteria criteria = new Criteria();
    criteria.setExpression("test");
    criteria.setLifeLineSelected(true);
    criteria.setSyncMessageSelected(true);

    // Save the criteria to the dialog settings
    criteria.save(settings);

    // Check if all values are saved as expected
    assertEquals("testSave", "test", settings.get("expression"));
    assertEquals("testSave", "false", settings.get("isCaseSenstiveSelected"));
    assertEquals("testSave", "false", settings.get("isAsyncMessageReturnSelected"));
    assertEquals("testSave", "false", settings.get("isAsyncMessageSelected"));
    assertEquals("testSave", "true", settings.get("isLifeLineSelected"));
    assertEquals("testSave", "false", settings.get("isStopSelected"));
    assertEquals("testSave", "false", settings.get("isSyncMessageReturnSelected"));
    assertEquals("testSave", "true", settings.get("isSyncMessageSelected"));
}
 
Example #2
Source File: CriteriaTest.java    From tracecompass with Eclipse Public License 2.0 6 votes vote down vote up
/**
 * Test restore from disk.
 */
@Test
public void testLoad() {
    DialogSettings settings = new DialogSettings("mysettings");

    Criteria criteria = new Criteria();
    criteria.setExpression("test");
    criteria.setLifeLineSelected(true);
    criteria.setSyncMessageSelected(true);

    // Save the criteria to the dialog settings
    criteria.save(settings);

    // Load the criteria from the dialog settings
    Criteria copy = new Criteria();
    copy.load(settings);

    assertTrue("testCompareTo", criteria.compareTo(copy));
    assertTrue("testCompareTo", copy.compareTo(criteria));
}
 
Example #3
Source File: MasterSelectionDialog.java    From neoscada with Eclipse Public License 1.0 5 votes vote down vote up
public MasterSelectionDialog ( final Shell parentShell, final World world )
{
    super ( parentShell );
    this.world = world;
    setHelpAvailable ( false );

    this.dialogSettings = DialogSettings.getOrCreateSection ( Activator.getDefault ().getDialogSettings (), "MasterSelectionDialog" );
    this.lastSelection = loadLastSelection ();
}
 
Example #4
Source File: GlobalColumnGroupSet.java    From erflute with Apache License 2.0 5 votes vote down vote up
public static void save(ColumnGroupSet columnGroups) {
    try {
        final IDialogSettings settings = new DialogSettings("column_group_list");
        settings.put("database", columnGroups.getDatabase());
        int index = 0;
        for (final ColumnGroup columnGroup : columnGroups) {
            final IDialogSettings columnGroupSection = new DialogSettings("column_group_" + index);
            index++;
            columnGroupSection.put("group_name", columnGroup.getGroupName());
            int columnIndex = 0;
            for (final NormalColumn normalColumn : columnGroup.getColumns()) {
                final IDialogSettings columnSection = new DialogSettings("column_" + columnIndex);
                columnIndex++;
                columnSection.put("physical_name", null2Blank(normalColumn.getPhysicalName()));
                columnSection.put("logical_name", null2Blank(normalColumn.getLogicalName()));
                columnSection.put("type", null2Blank(normalColumn.getType()));
                columnSection.put("length", null2Blank(normalColumn.getTypeData().getLength()));
                columnSection.put("decimal", null2Blank(normalColumn.getTypeData().getDecimal()));
                columnSection.put("array", normalColumn.getTypeData().isArray());
                columnSection.put("array_dimension", null2Blank(normalColumn.getTypeData().getArrayDimension()));
                columnSection.put("unsigned", normalColumn.getTypeData().isUnsigned());
                columnSection.put("not_null", normalColumn.isNotNull());
                columnSection.put("unique", normalColumn.isUniqueKey());
                columnSection.put("default_value", null2Blank(normalColumn.getDefaultValue()));
                columnSection.put("constraint", null2Blank(normalColumn.getConstraint()));
                columnSection.put("description", null2Blank(normalColumn.getDescription()));
                columnGroupSection.addSection(columnSection);
            }
            settings.addSection(columnGroupSection);
        }
        settings.save(getPath());
    } catch (final IOException e) {
        Activator.showExceptionDialog(e);
    }
}
 
Example #5
Source File: LaunchModeDropDownActionTest.java    From eclipse-extras with Eclipse Public License 1.0 5 votes vote down vote up
@Before
public void setUp() {
  launchManager = mock( ILaunchManager.class );
  when( launchManager.getLaunchModes() ).thenReturn( new ILaunchMode[ 0 ] );
  DialogSettings dialogSettings = new DialogSettings( "section-name" );
  launchModeSetting = new LaunchModeSetting( launchManager, dialogSettings );
}
 
Example #6
Source File: SearchFilterDialog.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Loads criteria from the dialog settings which are saved in the workspace.
 */
protected void loadCriteria() {

    String CRITERIA = FIND_CRITERIA;
    if (!fIsFind) {
        CRITERIA = FILTER_CRITERIA;
    }

    DialogSettings section = (DialogSettings) Activator.getDefault().getDialogSettings().getSection(CRITERIA);
    List<GraphNode> selection = fSdView.getSDWidget().getSelection();
    if ((selection == null || selection.size() != 1) || (!fIsFind)) {
        if (section != null) {
            fCriteria = new Criteria();
            fCriteria.load(section);
        }
    } else {
        GraphNode gn = selection.get(0);
        fCriteria = new Criteria();
        fCriteria.setExpression(gn.getName());
        fCriteria.setCaseSenstiveSelected(true);
        if (gn instanceof Lifeline && fProvider.isNodeSupported(ISDGraphNodeSupporter.LIFELINE)) {
            fCriteria.setLifeLineSelected(true);
        } else if (gn instanceof SyncMessageReturn && fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGERETURN)) {
            fCriteria.setSyncMessageReturnSelected(true);
        } else if ((gn instanceof SyncMessageReturn || gn instanceof SyncMessage) && fProvider.isNodeSupported(ISDGraphNodeSupporter.SYNCMESSAGE)) {
            fCriteria.setSyncMessageSelected(true);
        } else if (gn instanceof AsyncMessageReturn && fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGERETURN)) {
            fCriteria.setAsyncMessageReturnSelected(true);
        } else if ((gn instanceof AsyncMessageReturn || gn instanceof AsyncMessage) && fProvider.isNodeSupported(ISDGraphNodeSupporter.ASYNCMESSAGE)) {
            fCriteria.setAsyncMessageSelected(true);
        } else if (gn instanceof Stop && fProvider.isNodeSupported(ISDGraphNodeSupporter.STOP)) {
            fCriteria.setStopSelected(true);
        }
    }
}
 
Example #7
Source File: FilterCriteria.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Loads the criteria with values of the dialog settings.
 *
 * @param settings The dialog settings
 */
public void load(DialogSettings settings) {
    setActive(settings.getBoolean(ACTIVE));
    setPositive(settings.getBoolean(POSITIVE));
    String loaderClassName = settings.get(LOADERCLASSNAME);
    setLoaderClassName(loaderClassName != null && loaderClassName.length() > 0 ? loaderClassName : null);
    if (fCriteria != null) {
        fCriteria.load(settings);
    }
}
 
Example #8
Source File: FilterCriteria.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Saves current criteria attributes in the dialog settings.
 *
 * @param settings The dialog settings
 */
public void save(DialogSettings settings) {
    settings.put(ACTIVE, isActive());
    settings.put(POSITIVE, isPositive());
    if (getLoaderClassName() != null) {
        settings.put(LOADERCLASSNAME, getLoaderClassName());
    } else {
        settings.put(LOADERCLASSNAME, ""); //$NON-NLS-1$
    }
    if (fCriteria != null) {
        fCriteria.save(settings);
    }
}
 
Example #9
Source File: Criteria.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Loads the criteria with values of the dialog settings.
 *
 * @param settings The dialog settings
 */
public void load(DialogSettings settings) {
    setExpression(settings.get("expression")); //$NON-NLS-1$
    setCaseSenstiveSelected(settings.getBoolean("isCaseSenstiveSelected")); //$NON-NLS-1$
    setAsyncMessageReturnSelected(settings.getBoolean("isAsyncMessageReturnSelected")); //$NON-NLS-1$
    setAsyncMessageSelected(settings.getBoolean("isAsyncMessageSelected")); //$NON-NLS-1$
    setLifeLineSelected(settings.getBoolean("isLifeLineSelected")); //$NON-NLS-1$
    setStopSelected(settings.getBoolean("isStopSelected")); //$NON-NLS-1$
    setSyncMessageReturnSelected(settings.getBoolean("isSyncMessageReturnSelected")); //$NON-NLS-1$
    setSyncMessageSelected(settings.getBoolean("isSyncMessageSelected")); //$NON-NLS-1$
}
 
Example #10
Source File: Criteria.java    From tracecompass with Eclipse Public License 2.0 5 votes vote down vote up
/**
 * Saves current criteria attributes in the dialog settings.
 *
 * @param settings The dialog settings
 */
public void save(DialogSettings settings) {
    settings.put("expression", getExpression()); //$NON-NLS-1$
    settings.put("isCaseSenstiveSelected", isCaseSenstiveSelected()); //$NON-NLS-1$
    settings.put("isAsyncMessageReturnSelected", isAsyncMessageReturnSelected()); //$NON-NLS-1$
    settings.put("isAsyncMessageSelected", isAsyncMessageSelected()); //$NON-NLS-1$
    settings.put("isLifeLineSelected", isLifeLineSelected()); //$NON-NLS-1$
    settings.put("isStopSelected", isStopSelected()); //$NON-NLS-1$
    settings.put("isSyncMessageReturnSelected", isSyncMessageReturnSelected()); //$NON-NLS-1$
    settings.put("isSyncMessageSelected", isSyncMessageSelected()); //$NON-NLS-1$
}
 
Example #11
Source File: NodeSelectionDialog.java    From erflute with Apache License 2.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings() {
    final IDialogSettings result = new DialogSettings("NodeSelectionDialog"); //$NON-NLS-1$
    return result;
}
 
Example #12
Source File: GlobalGroupSet.java    From ermaster-b with Apache License 2.0 4 votes vote down vote up
public static void save(GroupSet columnGroups) {
	try {
		IDialogSettings settings = new DialogSettings("column_group_list");

		settings.put("database", columnGroups.getDatabase());

		int index = 0;

		for (ColumnGroup columnGroup : columnGroups) {
			IDialogSettings columnGroupSection = new DialogSettings(
					"column_group_" + index);
			index++;

			columnGroupSection
					.put("group_name", columnGroup.getGroupName());

			int columnIndex = 0;

			for (NormalColumn normalColumn : columnGroup.getColumns()) {
				IDialogSettings columnSection = new DialogSettings(
						"column_" + columnIndex);
				columnIndex++;

				columnSection.put("physical_name", null2Blank(normalColumn
						.getPhysicalName()));
				columnSection.put("logical_name", null2Blank(normalColumn
						.getLogicalName()));
				columnSection.put("type",
						null2Blank(normalColumn.getType()));
				columnSection.put("length", null2Blank(normalColumn
						.getTypeData().getLength()));
				columnSection.put("decimal", null2Blank(normalColumn
						.getTypeData().getDecimal()));
				columnSection.put("array", normalColumn.getTypeData()
						.isArray());
				columnSection.put("array_dimension",
						null2Blank(normalColumn.getTypeData()
								.getArrayDimension()));
				columnSection.put("unsigned", normalColumn.getTypeData()
						.isUnsigned());

				columnSection.put("not_null", normalColumn.isNotNull());
				columnSection.put("unique", normalColumn.isUniqueKey());
				columnSection.put("default_value", null2Blank(normalColumn
						.getDefaultValue()));
				columnSection.put("constraint", null2Blank(normalColumn
						.getConstraint()));
				columnSection.put("description", null2Blank(normalColumn
						.getDescription()));

				columnGroupSection.addSection(columnSection);
			}

			settings.addSection(columnGroupSection);
		}

		settings.save(getPath());

	} catch (IOException e) {
		Activator.showExceptionDialog(e);
	}
}
 
Example #13
Source File: GlobalGroupSet.java    From ermaster-b with Apache License 2.0 4 votes vote down vote up
public static GroupSet load() {
	GroupSet columnGroups = new GroupSet();

	try {
		IDialogSettings settings = new DialogSettings("column_group_list");
		String database = settings.get("database");
		if (database == null) {
			database = DBManagerFactory.getAllDBList().get(0);
		}
		columnGroups.setDatabase(database);

		String path = getPath();
		File columnGroupListFile = new File(path);

		if (columnGroupListFile.exists()) {
			settings.load(path);

			for (IDialogSettings columnGroupSection : settings
					.getSections()) {
				ColumnGroup columnGroup = new ColumnGroup();

				columnGroup.setGroupName(columnGroupSection
						.get("group_name"));

				for (IDialogSettings columnSection : columnGroupSection
						.getSections()) {
					String physicalName = columnSection
							.get("physical_name");
					String logicalName = columnSection.get("logical_name");
					SqlType sqlType = SqlType.valueOfId(columnSection
							.get("type"));
					String defaultValue = columnSection
							.get("default_value");
					String description = columnSection.get("description");
					String constraint = columnSection.get("constraint");
					boolean notNull = Boolean.valueOf(
							columnSection.get("not_null")).booleanValue();
					boolean unique = Boolean.valueOf(
							columnSection.get("unique")).booleanValue();
					Integer length = toInteger(columnSection.get("length"));
					Integer decimal = toInteger(columnSection
							.get("decimal"));
					boolean array = Boolean.valueOf(
							columnSection.get("array")).booleanValue();
					Integer arrayDimension = toInteger(columnSection
							.get("array_dimension"));
					boolean unsigned = Boolean.valueOf(
							columnSection.get("unsigned")).booleanValue();
					String args = columnSection.get("args");

					TypeData typeData = new TypeData(length, decimal,
							array, arrayDimension, unsigned, args);

					Word word = new Word(physicalName, logicalName,
							sqlType, typeData, description, database);

					NormalColumn column = new NormalColumn(word, notNull,
							false, unique, false, defaultValue, constraint,
							null, null, null);

					columnGroup.addColumn(column);
				}

				columnGroups.add(columnGroup);
			}
		}
	} catch (IOException e) {
		Activator.showExceptionDialog(e);
	}

	return columnGroups;
}
 
Example #14
Source File: NodeSelectionDialog.java    From ermaster-b with Apache License 2.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings() {
	IDialogSettings result = new DialogSettings("NodeSelectionDialog"); //$NON-NLS-1$
	return result;
}
 
Example #15
Source File: DiagnoseSelektor.java    From elexis-3-core with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings(){
	return new DialogSettings("diagnoseselektor"); //$NON-NLS-1$
}
 
Example #16
Source File: BlockSelektor.java    From elexis-3-core with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings(){
	return new DialogSettings("blockselector"); //$NON-NLS-1$
}
 
Example #17
Source File: TreeNodeFilteredItemsSelectionDialog.java    From ice with Eclipse Public License 1.0 4 votes vote down vote up
protected IDialogSettings getDialogSettings() {
	return new DialogSettings("root");
}
 
Example #18
Source File: EventDetailsDialog.java    From neoscada with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogBoundsSettings ()
{
    return DialogSettings.getOrCreateSection ( Activator.getDefault ().getDialogSettings (), "EventDetailsDialog" );
}
 
Example #19
Source File: GlobalColumnGroupSet.java    From erflute with Apache License 2.0 4 votes vote down vote up
public static ColumnGroupSet load() {
    final ColumnGroupSet columnGroups = new ColumnGroupSet();
    try {
        final IDialogSettings settings = new DialogSettings("column_group_list");
        String database = settings.get("database");
        if (database == null) {
            database = DBManagerFactory.getAllDBList().get(0);
        }
        columnGroups.setDatabase(database);
        final String path = getPath();
        final File columnGroupListFile = new File(path);
        if (columnGroupListFile.exists()) {
            settings.load(path);
            for (final IDialogSettings columnGroupSection : settings.getSections()) {
                final ColumnGroup columnGroup = new ColumnGroup();
                columnGroup.setGroupName(columnGroupSection.get("group_name"));
                for (final IDialogSettings columnSection : columnGroupSection.getSections()) {
                    final String physicalName = columnSection.get("physical_name");
                    final String logicalName = columnSection.get("logical_name");
                    final SqlType sqlType = SqlType.valueOfId(columnSection.get("type"));
                    final String defaultValue = columnSection.get("default_value");
                    final String description = columnSection.get("description");
                    final String constraint = columnSection.get("constraint");
                    final boolean notNull = Boolean.valueOf(columnSection.get("not_null")).booleanValue();
                    final boolean unique = Boolean.valueOf(columnSection.get("unique")).booleanValue();
                    final Integer length = toInteger(columnSection.get("length"));
                    final Integer decimal = toInteger(columnSection.get("decimal"));
                    final boolean array = Boolean.valueOf(columnSection.get("array")).booleanValue();
                    final Integer arrayDimension = toInteger(columnSection.get("array_dimension"));
                    final boolean unsigned = Boolean.valueOf(columnSection.get("unsigned")).booleanValue();
                    final String args = columnSection.get("args");
                    final boolean charSemantics = Boolean.valueOf(columnSection.get("char_semantics")).booleanValue();
                    final TypeData typeData = new TypeData(length, decimal, array, arrayDimension, unsigned, args, charSemantics);
                    final Word word = new Word(physicalName, logicalName, sqlType, typeData, description, database);
                    final NormalColumn column =
                            new NormalColumn(word, notNull, false, unique, false, defaultValue, constraint, null, null, null);
                    columnGroup.addColumn(column);
                }
                columnGroups.add(columnGroup);
            }
        }
    } catch (final IOException e) {
        Activator.showExceptionDialog(e);
    }
    return columnGroups;
}
 
Example #20
Source File: GlobalGroupSet.java    From ermasterr with Apache License 2.0 4 votes vote down vote up
public static void save(final GroupSet columnGroups) {
    try {
        final IDialogSettings settings = new DialogSettings("column_group_list");

        settings.put("database", columnGroups.getDatabase());

        int index = 0;

        for (final ColumnGroup columnGroup : columnGroups) {
            final IDialogSettings columnGroupSection = new DialogSettings("column_group_" + index);
            index++;

            columnGroupSection.put("group_name", columnGroup.getGroupName());

            int columnIndex = 0;

            for (final NormalColumn normalColumn : columnGroup.getColumns()) {
                final IDialogSettings columnSection = new DialogSettings("column_" + columnIndex);
                columnIndex++;

                columnSection.put("physical_name", null2Blank(normalColumn.getPhysicalName()));
                columnSection.put("logical_name", null2Blank(normalColumn.getLogicalName()));
                columnSection.put("type", null2Blank(normalColumn.getType()));
                columnSection.put("length", null2Blank(normalColumn.getTypeData().getLength()));
                columnSection.put("decimal", null2Blank(normalColumn.getTypeData().getDecimal()));
                columnSection.put("array", normalColumn.getTypeData().isArray());
                columnSection.put("array_dimension", null2Blank(normalColumn.getTypeData().getArrayDimension()));
                columnSection.put("unsigned", normalColumn.getTypeData().isUnsigned());
                columnSection.put("zerofill", normalColumn.getTypeData().isZerofill());
                columnSection.put("binary", normalColumn.getTypeData().isBinary());

                columnSection.put("not_null", normalColumn.isNotNull());
                columnSection.put("unique", normalColumn.isUniqueKey());
                columnSection.put("default_value", null2Blank(normalColumn.getDefaultValue()));
                columnSection.put("constraint", null2Blank(normalColumn.getConstraint()));
                columnSection.put("description", null2Blank(normalColumn.getDescription()));
                columnSection.put("char_semantics", normalColumn.getTypeData().isCharSemantics());

                columnGroupSection.addSection(columnSection);
            }

            settings.addSection(columnGroupSection);
        }

        settings.save(getPath());

    } catch (final IOException e) {
        ERDiagramActivator.showExceptionDialog(e);
    }
}
 
Example #21
Source File: MasterSelectionDialog.java    From neoscada with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogBoundsSettings ()
{
    return DialogSettings.getOrCreateSection ( this.dialogSettings, "bounds" );
}
 
Example #22
Source File: LaunchSelectionDialogPDETest.java    From eclipse-extras with Eclipse Public License 1.0 4 votes vote down vote up
public TestableLaunchSelectionDialog( Shell shell ) {
  super( shell );
  dialogSettings = new DialogSettings( "TestableLaunchSelectionDialog" );
}
 
Example #23
Source File: LaunchModeSettingTest.java    From eclipse-extras with Eclipse Public License 1.0 4 votes vote down vote up
@Before
public void setUp() {
  launchManager = mock( ILaunchManager.class );
  dialogSettings = new DialogSettings( "section-name" );
  launchModeSetting = new LaunchModeSetting( launchManager, dialogSettings );
}
 
Example #24
Source File: LaunchSelectionDialog.java    From eclipse-extras with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings() {
  IDialogSettings dialogSettings = LaunchExtrasPlugin.getInstance().getDialogSettings();
  return DialogSettings.getOrCreateSection( dialogSettings, "LaunchSelectionDialog" );
}
 
Example #25
Source File: SetExternalNameWizard.java    From neoscada with Eclipse Public License 1.0 4 votes vote down vote up
public SetExternalNameWizard ( final IStructuredSelection selection )
{
    this.selection = selection;
    setDialogSettings ( DialogSettings.getOrCreateSection ( Activator.getDefault ().getDialogSettings (), "setExternalNameWizard" ) );
}
 
Example #26
Source File: ComponentOutputDialog.java    From neoscada with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogBoundsSettings ()
{
    return DialogSettings.getOrCreateSection ( Activator.getDefault ().getDialogSettings (), "componentOutputDialog" ); //$NON-NLS-1$
}
 
Example #27
Source File: SelectModulaSourceFolderDialog.java    From xds-ide with Eclipse Public License 1.0 4 votes vote down vote up
@Override
protected IDialogSettings getDialogSettings() {
    return new DialogSettings("XDS"); //$NON-NLS-1$
}
 
Example #28
Source File: GlobalGroupSet.java    From ermasterr with Apache License 2.0 4 votes vote down vote up
public static GroupSet load() {
    final GroupSet columnGroups = new GroupSet();

    try {
        final IDialogSettings settings = new DialogSettings("column_group_list");
        String database = settings.get("database");
        if (database == null) {
            database = DBManagerFactory.getAllDBList().get(0);
        }
        columnGroups.setDatabase(database);

        final String path = getPath();
        final File columnGroupListFile = new File(path);

        if (columnGroupListFile.exists()) {
            settings.load(path);

            final UniqueWordDictionary dictionary = new UniqueWordDictionary();

            for (final IDialogSettings columnGroupSection : settings.getSections()) {
                final ColumnGroup columnGroup = new ColumnGroup();

                columnGroup.setGroupName(columnGroupSection.get("group_name"));

                for (final IDialogSettings columnSection : columnGroupSection.getSections()) {
                    final String physicalName = columnSection.get("physical_name");
                    final String logicalName = columnSection.get("logical_name");
                    final SqlType sqlType = SqlType.valueOfId(columnSection.get("type"));
                    final String defaultValue = columnSection.get("default_value");
                    final String description = columnSection.get("description");
                    final String constraint = columnSection.get("constraint");
                    final boolean notNull = Boolean.valueOf(columnSection.get("not_null")).booleanValue();
                    final boolean unique = Boolean.valueOf(columnSection.get("unique")).booleanValue();
                    final Integer length = toInteger(columnSection.get("length"));
                    final Integer decimal = toInteger(columnSection.get("decimal"));
                    final boolean array = Boolean.valueOf(columnSection.get("array")).booleanValue();
                    final Integer arrayDimension = toInteger(columnSection.get("array_dimension"));
                    final boolean unsigned = Boolean.valueOf(columnSection.get("unsigned")).booleanValue();
                    final boolean zerofill = Boolean.valueOf(columnSection.get("zerofill")).booleanValue();
                    final boolean binary = Boolean.valueOf(columnSection.get("binary")).booleanValue();
                    final String args = columnSection.get("args");
                    final boolean charSemantics = Boolean.valueOf(columnSection.get("char_semantics")).booleanValue();

                    final TypeData typeData = new TypeData(length, decimal, array, arrayDimension, unsigned, zerofill, binary, args, charSemantics);

                    Word word = new Word(physicalName, logicalName, sqlType, typeData, description, database);
                    word = dictionary.getUniqueWord(word, true);

                    final NormalColumn column = new NormalColumn(word, notNull, false, unique, false, defaultValue, constraint, null, null, null);

                    columnGroup.addColumn(column);
                }

                columnGroups.add(columnGroup);
            }
        }
    } catch (final IOException e) {
        ERDiagramActivator.showExceptionDialog(e);
    }

    return columnGroups;
}