private void getInfo(PaloCellOutputMeta myMeta) throws KettleException { stepname = textStepName.getText(); List<DimensionField> fields = new ArrayList<DimensionField>(); if (this.updateOptions.getCode(comboUpdateMode.getText()) == "ADD" && this.splashOptions.getCode(comboSplashMode.getText()) == "SET") { throw new KettleException( BaseMessages.getString( PKG, "PaloCellOutputDialog.UpdateSplashError", BaseMessages.getString(PKG, "PaloCellOutputDialog.UpdateMode"), comboUpdateMode.getText(), BaseMessages.getString(PKG, "PaloCellOutputDialog.SplashMode"), comboSplashMode.getText())); } try { Integer.parseInt(this.textCommitSize.getText()); } catch (Exception e) { throw new KettleException( BaseMessages.getString(PKG, "PaloCellOutputDialog.CommitSizeErrorMessage")); } for (int i = 0; i < tableViewFields.table.getItemCount(); i++) { DimensionField field = new DimensionField( tableViewFields.table.getItem(i).getText(1), tableViewFields.table.getItem(i).getText(2), "" // tableViewFields.table.getItem(i).getText(3) ); if (i != tableViewFields.table.getItemCount() - 1) { // if(tableViewFields.table.getItem(i).getText(3)!="String") // throw new // KettleException("Dimension input field must be from String type"); fields.add(field); } else { myMeta.setMeasureField(field); } } myMeta.setCube(this.comboCube.getText()); myMeta.setMeasureType(this.comboMeasureType.getText()); myMeta.setUpdateMode(this.updateOptions.getCode(comboUpdateMode.getText())); myMeta.setSplashMode(this.splashOptions.getCode(comboSplashMode.getText())); myMeta.setLevels(fields); myMeta.setClearCube(this.buttonClearCube.getSelection()); myMeta.setDatabaseMeta(transMeta.findDatabase(addConnectionLine.getText())); myMeta.setCommitSize(Integer.parseInt(this.textCommitSize.getText())); myMeta.setEnableDimensionCache(this.buttonEnableDimensionCache.getSelection()); if (this.buttonEnableDimensionCache.getSelection()) { myMeta.setPreloadDimensionCache(this.buttonPreloadDimensionCache.getSelection()); } else { myMeta.setPreloadDimensionCache(false); } myMeta.setChanged(true); }
private void cancel() { stepname = null; meta.setChanged(changed); dispose(); }
public String open() { final Display display = getParent().getDisplay(); shell = new Shell(getParent(), SWT.DIALOG_TRIM | SWT.RESIZE | SWT.MAX | SWT.MIN); props.setLook(shell); setShellImage(shell, meta); FormLayout formLayout = new FormLayout(); formLayout.marginWidth = Const.FORM_MARGIN; formLayout.marginHeight = Const.FORM_MARGIN; shell.setLayout(formLayout); int middle = props.getMiddlePct(); int margin = Const.MARGIN; FormData fd; labelStepName = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(0, margin); labelStepName.setLayoutData(fd); textStepName = new Text(shell, SWT.BORDER); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(0, margin); textStepName.setLayoutData(fd); addConnectionLine = addConnectionLine(shell, textStepName, Const.MIDDLE_PCT, margin); labelCube = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(addConnectionLine, margin); labelCube.setLayoutData(fd); comboCube = new Combo(shell, SWT.READ_ONLY); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(addConnectionLine, margin); comboCube.setLayoutData(fd); labelMeasureType = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(comboCube, margin); labelMeasureType.setLayoutData(fd); comboMeasureType = new Combo(shell, SWT.READ_ONLY | SWT.FILL); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(comboCube, margin); comboMeasureType.setLayoutData(fd); labelUpdateMode = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(comboMeasureType, margin); labelUpdateMode.setLayoutData(fd); comboUpdateMode = new Combo(shell, SWT.READ_ONLY | SWT.FILL); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(comboMeasureType, margin); comboUpdateMode.setLayoutData(fd); labelSplashMode = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(comboUpdateMode, margin); labelSplashMode.setLayoutData(fd); comboSplashMode = new Combo(shell, SWT.READ_ONLY | SWT.FILL); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(comboUpdateMode, margin); comboSplashMode.setLayoutData(fd); labelCommitSize = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(comboSplashMode, margin); labelCommitSize.setLayoutData(fd); textCommitSize = new Text(shell, SWT.BORDER); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(comboSplashMode, margin); textCommitSize.setLayoutData(fd); labelClearCube = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(textCommitSize, margin); labelClearCube.setLayoutData(fd); buttonClearCube = new Button(shell, SWT.CHECK); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(textCommitSize, margin); buttonClearCube.setLayoutData(fd); labelEnableDimensionCache = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(buttonClearCube, margin); labelEnableDimensionCache.setLayoutData(fd); buttonEnableDimensionCache = new Button(shell, SWT.CHECK); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(buttonClearCube, margin); buttonEnableDimensionCache.setLayoutData(fd); labelPreloadDimensionCache = new Label(shell, SWT.RIGHT); fd = new FormData(); fd.left = new FormAttachment(0, 0); fd.right = new FormAttachment(middle, -margin); fd.top = new FormAttachment(buttonEnableDimensionCache, margin); labelPreloadDimensionCache.setLayoutData(fd); buttonPreloadDimensionCache = new Button(shell, SWT.CHECK); fd = new FormData(); fd.left = new FormAttachment(middle, 0); fd.right = new FormAttachment(100, 0); fd.top = new FormAttachment(buttonEnableDimensionCache, margin); buttonPreloadDimensionCache.setLayoutData(fd); ModifyListener lsMod = new ModifyListener() { public void modifyText(ModifyEvent e) { meta.setChanged(); } }; colinf = new ColumnInfo[] { new ColumnInfo(getLocalizedColumn(0), ColumnInfo.COLUMN_TYPE_TEXT, false, true), new ColumnInfo( getLocalizedColumn(1), ColumnInfo.COLUMN_TYPE_CCOMBO, new String[] {}, true), }; tableViewFields = new TableView(null, shell, SWT.NONE | SWT.BORDER, colinf, 10, true, lsMod, props); tableViewFields.setSize(477, 105); tableViewFields.setBounds(5, 250, 477, 105); tableViewFields.setReadonly(true); tableViewFields.setSortable(false); tableViewFields.table.removeAll(); fd = new FormData(); fd.left = new FormAttachment(0, margin); fd.top = new FormAttachment(buttonPreloadDimensionCache, 3 * margin); fd.right = new FormAttachment(100, -150); fd.bottom = new FormAttachment(100, -50); tableViewFields.setLayoutData(fd); buttonGetFields = new Button(shell, SWT.NONE); fd = new FormData(); fd.left = new FormAttachment(tableViewFields, margin); fd.top = new FormAttachment(buttonPreloadDimensionCache, 3 * margin); fd.right = new FormAttachment(100, 0); buttonGetFields.setLayoutData(fd); buttonClearFields = new Button(shell, SWT.NONE); fd = new FormData(); fd.left = new FormAttachment(tableViewFields, margin); fd.top = new FormAttachment(buttonGetFields, margin); fd.right = new FormAttachment(100, 0); buttonClearFields.setLayoutData(fd); buttonOk = new Button(shell, SWT.CENTER); buttonCancel = new Button(shell, SWT.CENTER); buttonOk.setText(BaseMessages.getString("System.Button.OK")); buttonCancel.setText(BaseMessages.getString("System.Button.Cancel")); setButtonPositions(new Button[] {buttonOk, buttonCancel}, margin, null); buttonGetFields.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doGetFields(); } }); buttonClearFields.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doClearFields(); } }); buttonCancel.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { cancel(); } }); buttonOk.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { ok(); } }); addConnectionLine.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doSelectConnection(false); } }); comboCube.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { doSelectCube(); } }); buttonEnableDimensionCache.addSelectionListener( new SelectionAdapter() { public void widgetSelected(SelectionEvent arg0) { buttonPreloadDimensionCache.setEnabled(buttonEnableDimensionCache.getSelection()); } }); this.fillLocalizedData(); this.fillStoredData(); this.doSelectConnection(false); props.setLook(tableViewFields); props.setLook(textStepName); props.setLook(comboCube); props.setLook(labelStepName); props.setLook(labelCube); props.setLook(labelMeasureType); props.setLook(comboMeasureType); props.setLook(labelUpdateMode); props.setLook(comboUpdateMode); props.setLook(labelSplashMode); props.setLook(comboSplashMode); props.setLook(buttonClearFields); props.setLook(buttonGetFields); props.setLook(buttonOk); props.setLook(buttonCancel); props.setLook(addConnectionLine); props.setLook(buttonClearCube); props.setLook(labelClearCube); props.setLook(textCommitSize); props.setLook(labelCommitSize); props.setLook(labelPreloadDimensionCache); props.setLook(buttonPreloadDimensionCache); props.setLook(labelEnableDimensionCache); props.setLook(buttonEnableDimensionCache); shell.addShellListener( new ShellAdapter() { public void shellClosed(ShellEvent e) { cancel(); } }); meta.setChanged(changed); setSize(); shell.open(); PaloCellInputDialog.showPaloLibWarningDialog(shell); while (!shell.isDisposed()) { if (!display.readAndDispatch()) { display.sleep(); } } return stepname; }