Search in sources :

Example 6 with ObservableList

use of javafx.collections.ObservableList in project Gargoyle by callakrsos.

the class FxExcelUtil method getDataSource.

/**
	 * UI 및 TableView로부터 Excel데이터생성을 위한 체계화된 데이터 
	 * LinkedHashMap객체를 리턴.
	 * @작성자 : KYJ
	 * @작성일 : 2016. 9. 7. 
	 * @param screen
	 * @param table
	 * @param allColumnsList 
	 *    계층형 테이블컬럼들을 일렬로 찾아낸 리스트
	 * @return
	 */
@SuppressWarnings({ "rawtypes" })
static /**
	 * UI 및 TableView로부터 Excel데이터생성을 위한 체계화된 데이터 
	 * @작성자 : KYJ
	 * @작성일 : 2016. 9. 19. 
	 * @param mapper
	 * @param table
	 * @param allColumnsList
	 * @return
	 */
LinkedHashMap<ExcelColumnExpression, List<Object>> getDataSource(IExcelScreenHandler mapper, TableView table, ArrayList<ExcelColumnExpression> allColumnsList) {
    LinkedHashMap<ExcelColumnExpression, List<Object>> dataSet = new LinkedHashMap<>();
    //ExcelColumnExpression :: 계층형 테이블컬럼들을 일렬로 찾아낸 리스트
    //		List<ExcelColumnExpression> allColumnsList = new ArrayList<ExcelColumnExpression>();
    @SuppressWarnings("unchecked") ObservableList<TableColumn> items = table.getItems();
    int size = items.size();
    //특화 헤더를 매핑.
    for (ExcelColumnExpression c : allColumnsList) {
        //			if (!c.isVisible())
        //				continue;
        String columnHeaderMapper = mapper.columnHeaderMapper(table, c.getTableColumn());
        c.setDisplayText(columnHeaderMapper);
        List<Object> values = new ArrayList<Object>();
        int columnIndex = c.getIndex();
        for (int rowIndex = 0; rowIndex < size; rowIndex++) {
            Object userValue = mapper.valueMapper(table, c.getTableColumn(), columnIndex, rowIndex);
            values.add(userValue);
        }
        dataSet.put(c, values);
    }
    return dataSet;
}
Also used : ArrayList(java.util.ArrayList) ArrayList(java.util.ArrayList) List(java.util.List) ObservableList(javafx.collections.ObservableList) TableColumn(javafx.scene.control.TableColumn) ExcelColumnExpression(com.kyj.fx.voeditor.visual.framework.excel.ExcelColumnExpression) LinkedHashMap(java.util.LinkedHashMap)

Example 7 with ObservableList

use of javafx.collections.ObservableList in project Gargoyle by callakrsos.

the class ScmCommitComposite method load.

public void load() {
    try {
        scmHistoryWalk();
        getBarChartDayOfMonthCategory().setLabel("기간별 커밋 통계");
        getLineChartDayOfWeekCategory().setLabel("요일별 커밋 통계");
        getBarChartDayOfMonthCategory().getCategories().add(SERIES_LABEL);
        getLineChartDayOfWeekCategory().getCategories().add(SERIES_LABEL);
        Color lineColor = Color.GREEN;
        double strokeWidth = 1;
        String cssStyleClassName = ".chart-series-line";
        {
            /*start Desing css.*/
            BarChart<String, Long> barChartDayOfMonth = getBarChartDayOfMonth();
            String style = "-fx-bar-fill: ".concat(FxUtil.toWebString(lineColor)).concat(";");
            for (Node n : barChartDayOfMonth.lookupAll(".default-color0.chart-bar")) {
                n.setStyle(style);
            }
            //				barChartDayOfMonth.setStyle(
            //						".chart-legend-item-syCmbol chart-bar series0 bar-legend-symbol default-color0{- fx-background-color:green;}");
            /*end Desing css.*/
            /*start Popover*/
            //무조건 1개의 시리즈만 처리하므로 인덱스에서 바로 가져옴.
            ObservableList<Data<String, Long>> dataArr = getBarChartDayOfMonth().getData().get(0).getData();
            for (Data<String, Long> d : dataArr) {
                d.getNode().setOnMouseClicked(ev -> {
                    if (ev.getClickCount() == 1 && ev.getButton() == MouseButton.PRIMARY)
                        createPopOver(d);
                });
            }
            barChartDayOfMonth.setMinWidth(BarChart.USE_COMPUTED_SIZE);
            barChartDayOfMonth.requestLayout();
        /*end Popover*/
        }
        {
            LineChart<String, Long> lineChartDayOfWeek = getLineChartDayOfWeek();
            lineChartDayOfWeek.setStyle(".chart-series-line .series0 .default-color0{- fx-background-color:green;}");
            Set<Node> lookupAll = lineChartDayOfWeek.lookupAll(".chart-line-symbol");
            StringBuffer sb = new StringBuffer();
            sb.append("-fx-background-color: " + FxUtil.toRgbString(lineColor) + ", white;");
            sb.append(" -fx-background-insets: 0, 2;");
            sb.append("-fx-background-radius: 5px;");
            sb.append("-fx-padding: 5px;");
            for (Node n : lookupAll) {
                n.setStyle(sb.toString());
            }
            String style = "-fx-stroke: " + FxUtil.toRgbString(lineColor) + "; -fx-stroke-width: " + strokeWidth + ";";
            for (Node seriesLine : lineChartDayOfWeek.lookupAll(cssStyleClassName)) {
                seriesLine.setStyle(style);
            }
        }
    } catch (SVNException e) {
        LOGGER.error(ValueUtil.toString(e));
    }
}
Also used : MouseButton(javafx.scene.input.MouseButton) ListView(javafx.scene.control.ListView) GagoyleDate(com.kyj.fx.voeditor.visual.framework.model.GagoyleDate) MouseEvent(javafx.scene.input.MouseEvent) LoggerFactory(org.slf4j.LoggerFactory) Series(javafx.scene.chart.XYChart.Series) SimpleDateFormat(java.text.SimpleDateFormat) XYChart(javafx.scene.chart.XYChart) LinkedHashMap(java.util.LinkedHashMap) LineChart(javafx.scene.chart.LineChart) ContextMenu(javafx.scene.control.ContextMenu) Map(java.util.Map) FxCollectors(com.kyj.fx.voeditor.visual.util.FxCollectors) Color(javafx.scene.paint.Color) Logger(org.slf4j.Logger) Label(javafx.scene.control.Label) MenuItem(javafx.scene.control.MenuItem) SVNException(org.tmatesoft.svn.core.SVNException) Data(javafx.scene.chart.XYChart.Data) Collection(java.util.Collection) Node(javafx.scene.Node) Set(java.util.Set) MasterSlaveChartComposite(com.kyj.fx.voeditor.visual.component.MasterSlaveChartComposite) BarChart(javafx.scene.chart.BarChart) Collectors(java.util.stream.Collectors) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) List(java.util.List) TreeMap(java.util.TreeMap) SVNLogEntry(org.tmatesoft.svn.core.SVNLogEntry) ValueUtil(kyj.Fx.dao.wizard.core.util.ValueUtil) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) Set(java.util.Set) Color(javafx.scene.paint.Color) Node(javafx.scene.Node) Data(javafx.scene.chart.XYChart.Data) SVNException(org.tmatesoft.svn.core.SVNException) ObservableList(javafx.collections.ObservableList) BarChart(javafx.scene.chart.BarChart) LineChart(javafx.scene.chart.LineChart)

Example 8 with ObservableList

use of javafx.collections.ObservableList in project Gargoyle by callakrsos.

the class DaoWizardViewController method btnExecOnMouseClick.

/**
	 * 텍스트에 기술된 SQL문을 실행한다. 기본적으로 ROWNUM 기술문을 100개를 감싸서 SQL을 조회한다.
	 *
	 * @작성자 : KYJ
	 * @작성일 : 2015. 10. 21.
	 */
@FXML
public void btnExecOnMouseClick(MouseEvent e) {
    LOGGER.debug("event] btnExecOnMouseClick");
    String velocitySQL = txtSql.getText().trim();
    if (velocitySQL == null || velocitySQL.isEmpty())
        return;
    LOGGER.debug(String.format("velocitySQL : %s", velocitySQL));
    // 파라미터 컬럼값 반환받는다.
    ObservableList<TbpSysDaoFieldsDVO> items = tbParams.getItems();
    Map<String, TbpSysDaoColumnsDVO> unmapping = this.tbMappings.getItems().stream().filter(v -> {
        String lockYn = v.getLockYn();
        if ("Y".equals(lockYn))
            return true;
        return false;
    }).collect(Collectors.toMap(TbpSysDaoColumnsDVO::getColumnName, v -> v));
    Map<String, Object> paramMap = items.stream().filter(vo -> vo.getTestValue() != null && !vo.getTestValue().isEmpty()).collect(Collectors.toMap(TbpSysDaoFieldsDVO::getFieldName, new Function<TbpSysDaoFieldsDVO, Object>() {

        @Override
        public Object apply(TbpSysDaoFieldsDVO t) {
            if ("Arrays".equals(t.getType())) {
                String pattern = "'[^']{0,}'";
                List<String> regexMatchs = ValueUtil.regexMatchs(pattern, t.getTestValue(), str -> {
                    return str.substring(1, str.length() - 1);
                });
                return regexMatchs;
            }
            return t.getTestValue();
        }
    }));
    SimpleSQLResultView simpleSQLResultView = new SimpleSQLResultView(velocitySQL, paramMap);
    try {
        simpleSQLResultView.show();
        List<TableModelDVO> columns = simpleSQLResultView.getColumns();
        List<TbpSysDaoColumnsDVO> resultList = columns.stream().map(vo -> {
            TbpSysDaoColumnsDVO dvo = new TbpSysDaoColumnsDVO();
            dvo.setColumnName(vo.getDatabaseColumnName());
            String databaseTypeName = vo.getDatabaseTypeName();
            dvo.setColumnType(databaseTypeName);
            if (unmapping.containsKey(vo.getDatabaseColumnName())) {
                TbpSysDaoColumnsDVO tmp = unmapping.get(vo.getDatabaseColumnName());
                dvo.setProgramType(tmp.getProgramType());
                dvo.setLockYn(tmp.getLockYn());
            } else {
                String programType = DatabaseTypeMappingResourceLoader.getInstance().get(databaseTypeName);
                dvo.setProgramType(programType);
            }
            return dvo;
        }).collect(Collectors.toList());
        // if (!this.tbMappings.getItems().isEmpty())
        if (!resultList.isEmpty()) {
            try {
                this.tbMappings.getItems().clear();
                getSelectedMethodItem().getTbpSysDaoColumnsDVOList().clear();
                this.tbMappings.getItems().addAll(resultList);
                getSelectedMethodItem().getTbpSysDaoColumnsDVOList().addAll(resultList);
            } catch (NullPointerException n) {
                DialogUtil.showMessageDialog("메소드를 선택해주세요.");
            }
        }
    } catch (IOException e1) {
        LOGGER.error(ValueUtil.toString(e1));
        DialogUtil.showExceptionDailog(e1);
    }
}
Also used : SimpleSQLResultView(com.kyj.fx.voeditor.visual.component.popup.SimpleSQLResultView) Arrays(java.util.Arrays) Menus(com.kyj.fx.voeditor.visual.component.Menus) DbUtil(com.kyj.fx.voeditor.visual.util.DbUtil) NumberingCellValueFactory(com.kyj.fx.voeditor.visual.component.NumberingCellValueFactory) LoggerFactory(org.slf4j.LoggerFactory) NullExpresion(com.kyj.fx.voeditor.visual.util.NullExpresion) MeerketAbstractVoOpenClassResourceView(com.kyj.fx.voeditor.visual.component.popup.MeerketAbstractVoOpenClassResourceView) ReadOnlyObjectWrapper(javafx.beans.property.ReadOnlyObjectWrapper) ContextMenu(javafx.scene.control.ContextMenu) Map(java.util.Map) FileUtil(com.kyj.fx.voeditor.visual.util.FileUtil) TableView(javafx.scene.control.TableView) TbpSysDaoColumnsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoColumnsDVO) Path(java.nio.file.Path) EditorUtil(com.kyj.fx.voeditor.util.EditorUtil) DatabaseTypeMappingFunction(com.kyj.fx.voeditor.visual.functions.DatabaseTypeMappingFunction) ClassTypeResourceLoader(com.kyj.fx.voeditor.visual.momory.ClassTypeResourceLoader) TableMasterDVO(kyj.Fx.dao.wizard.core.model.vo.TableMasterDVO) SqlKeywords(com.kyj.fx.voeditor.visual.component.text.SqlKeywords) TextField(javafx.scene.control.TextField) Pair(javafx.util.Pair) MenuItem(javafx.scene.control.MenuItem) QuerygenUtil(kyj.Fx.dao.wizard.core.util.QuerygenUtil) TbpSysDaoMethodsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoMethodsDVO) Set(java.util.Set) KeyEvent(javafx.scene.input.KeyEvent) DatabaseTableView(com.kyj.fx.voeditor.visual.component.popup.DatabaseTableView) FxDAOReadFunction(com.kyj.fx.voeditor.visual.functions.FxDAOReadFunction) ConfigResourceLoader(com.kyj.fx.voeditor.visual.momory.ConfigResourceLoader) TableDVO(kyj.Fx.dao.wizard.core.model.vo.TableDVO) Collectors(java.util.stream.Collectors) FXML(javafx.fxml.FXML) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) List(java.util.List) ResourceLoader(com.kyj.fx.voeditor.visual.momory.ResourceLoader) Stream(java.util.stream.Stream) Optional(java.util.Optional) ChoiceBoxTableCell(javafx.scene.control.cell.ChoiceBoxTableCell) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) CommonsContextMenu(com.kyj.fx.voeditor.visual.component.CommonsContextMenu) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) BaseOpenClassResourceView(com.kyj.fx.voeditor.visual.component.popup.BaseOpenClassResourceView) TextArea(javafx.scene.control.TextArea) MouseEvent(javafx.scene.input.MouseEvent) CommonContextMenuEvent(com.kyj.fx.voeditor.visual.events.CommonContextMenuEvent) FXCollections(javafx.collections.FXCollections) HashMap(java.util.HashMap) TextFieldTableCell(javafx.scene.control.cell.TextFieldTableCell) DialogUtil(com.kyj.fx.voeditor.visual.util.DialogUtil) Function(java.util.function.Function) TbmSysDaoDVO(kyj.Fx.dao.wizard.core.model.vo.TbmSysDaoDVO) TableColumn(javafx.scene.control.TableColumn) Wizardtype(com.kyj.fx.voeditor.visual.framework.daowizard.GargoyleDaoWizardFactory.Wizardtype) FXMLLoader(javafx.fxml.FXMLLoader) FxCollectors(com.kyj.fx.voeditor.visual.util.FxCollectors) JavaTextView(com.kyj.fx.voeditor.visual.component.popup.JavaTextView) DaoWizard(kyj.Fx.dao.wizard.DaoWizard) LinkedHashSet(java.util.LinkedHashSet) ClassMeta(com.kyj.fx.voeditor.core.model.meta.ClassMeta) FxDAOSaveFunction(com.kyj.fx.voeditor.visual.functions.FxDAOSaveFunction) ObjectProperty(javafx.beans.property.ObjectProperty) Logger(org.slf4j.Logger) DaoWizardConverter(com.kyj.fx.voeditor.visual.util.DaoWizardConverter) Label(javafx.scene.control.Label) Iterator(java.util.Iterator) FieldMeta(com.kyj.fx.voeditor.core.model.meta.FieldMeta) DatabaseTypeMappingResourceLoader(kyj.Fx.dao.wizard.memory.DatabaseTypeMappingResourceLoader) IOException(java.io.IOException) LockImagedYnColumn(com.kyj.fx.voeditor.visual.component.LockImagedYnColumn) ValueUtil(com.kyj.fx.voeditor.visual.util.ValueUtil) TbpSysDaoFieldsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoFieldsDVO) StringConverter(javafx.util.StringConverter) File(java.io.File) ActionEvent(javafx.event.ActionEvent) SelectionMode(javafx.scene.control.SelectionMode) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) TableModelDVO(kyj.Fx.dao.wizard.core.model.vo.TableModelDVO) ResultDialog(com.kyj.fx.voeditor.visual.component.ResultDialog) Collections(java.util.Collections) SharedMemory(com.kyj.fx.voeditor.visual.momory.SharedMemory) SimpleSQLResultView(com.kyj.fx.voeditor.visual.component.popup.SimpleSQLResultView) TableModelDVO(kyj.Fx.dao.wizard.core.model.vo.TableModelDVO) IOException(java.io.IOException) DatabaseTypeMappingFunction(com.kyj.fx.voeditor.visual.functions.DatabaseTypeMappingFunction) FxDAOReadFunction(com.kyj.fx.voeditor.visual.functions.FxDAOReadFunction) Function(java.util.function.Function) FxDAOSaveFunction(com.kyj.fx.voeditor.visual.functions.FxDAOSaveFunction) TbpSysDaoColumnsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoColumnsDVO) TbpSysDaoFieldsDVO(kyj.Fx.dao.wizard.core.model.vo.TbpSysDaoFieldsDVO) FXML(javafx.fxml.FXML)

Example 9 with ObservableList

use of javafx.collections.ObservableList in project Gargoyle by callakrsos.

the class SystemLayoutViewController method initialize.

@FXML
public void initialize() {
    // 쿼리 리스너를 등록
    DbUtil.registQuertyListener(this);
    try {
        FXMLLoader loader = FxUtil.createNewFxmlLoader();
        loader.setLocation(SystemLayoutViewController.class.getResource("DAOLoaderView.fxml"));
        TitledPane titledPane = loader.load();
        VBox.setVgrow(titledPane, Priority.ALWAYS);
        accordionItems.getChildren().add(titledPane);
        DAOLoaderController controller = loader.getController();
        controller.setSystemLayoutViewController(this);
    } catch (IOException e1) {
        e1.printStackTrace();
    }
    SharedMemory.setSystemLayoutView(this);
    SharedMemory.setWorkspaceTab(tabPanWorkspace);
    // tab key에 대한 이벤트 처리 등록....
    SharedMemory.getPrimaryStage().addEventHandler(KeyEvent.ANY, event -> {
        boolean isCloseALLtabKeyCode = event.isControlDown() && event.isShiftDown() && KeyCode.W == event.getCode();
        boolean isTabMoveCode = event.isControlDown() && isNumberCode(event.getCode());
        ObservableList<DockTab> tabs = tabPanWorkspace.getTabs();
        if (isCloseALLtabKeyCode) {
            LOGGER.debug("CLOSE ALL TABS...");
            for (int i = tabs.size() - 1; i > 0; i--) {
                tabs.remove(i);
            }
        } else if (isTabMoveCode) {
            int tabIndex = Integer.parseInt(event.getCode().getName());
            if (tabIndex > 0 && tabs.size() < tabIndex)
                return;
            LOGGER.debug("MOVE TAB" + event.getCode().getName());
            tabPanWorkspace.getSelectionModel().select(tabIndex - 1);
        }
    });
    String baseDir = ResourceLoader.getInstance().get(ResourceLoader.BASE_DIR);
    selectDirFile = new File(baseDir);
    createNewTreeViewMenuItems();
    webvWelcome.getEngine().setJavaScriptEnabled(true);
    webvWelcome.getEngine().load(HOME_URL);
    txtUrl.addEventHandler(KeyEvent.KEY_PRESSED, event -> {
        if (KeyCode.ENTER == event.getCode()) {
            webvWelcome.getEngine().load(txtUrl.getText());
        }
    });
    btnUrlSearch.addEventHandler(MouseEvent.MOUSE_CLICKED, event -> {
        if (event.getClickCount() >= 1) {
            webvWelcome.getEngine().load(txtUrl.getText());
        }
    });
    webvWelcome.setOnKeyPressed(key -> {
        if (key.getCode() == KeyCode.F12) {
            FxUtil.createStageAndShow("Simple Web Console", new WebViewConsole(webvWelcome));
        }
    });
    treeProjectFile.setRoot(createNewTree(selectDirFile));
    treeProjectFile.setShowRoot(false);
    // 트리 컨테스트 요청 이벤트
    treeProjectFile.setOnContextMenuRequested(this::treeProjectFileOnContextMenuRequested);
    // 트리 마우스 이벤트
    treeProjectFile.setOnMouseClicked(this::treeProjectFileOnMouseClick);
    // 트리 키 이벤트
    treeProjectFile.addEventHandler(KeyEvent.KEY_PRESSED, this::treeProjectFileOnKeyPressed);
    /** 플러그인들을 로드함. **/
    Platform.runLater(new Runnable() {

        @Override
        public void run() {
            List<JarWrapper> load = PluginLoader.getInstance().load();
            load.stream().forEach(jarWrapper -> {
                try {
                    String displayMenuName = jarWrapper.getDisplayMenuName();
                    MenuItem pluginMenu = new MenuItem(displayMenuName);
                    pluginMenu.setUserData(jarWrapper);
                    pluginMenu.setOnAction(event -> {
                        JarWrapper jar = (JarWrapper) pluginMenu.getUserData();
                        try {
                            Class<?> nodeClass = jar.getNodeClass();
                            Object newInstance = jar.loader.loadClass(nodeClass.getName()).newInstance();
                            if (newInstance instanceof CloseableParent<?>) {
                                loadNewSystemTab(jar.getDisplayMenuName(), (CloseableParent<?>) newInstance);
                            } else {
                                loadNewSystemTab(jar.getDisplayMenuName(), (Parent) newInstance, SkinManager.getInstance().getJavafxDefaultSkin());
                            }
                        } catch (Exception e) {
                            LOGGER.error("regist fail plugin.");
                            LOGGER.error(ValueUtil.toString(e));
                        }
                    });
                    try {
                        Class<GagoyleParentBeforeLoad> setBeforeParentLoadListenerClass = jarWrapper.getSetOnParentBeforeLoadedListenerClass();
                        if (setBeforeParentLoadListenerClass != null)
                            setOnbeforeParentLoad(setBeforeParentLoadListenerClass.newInstance());
                    } catch (Exception e) {
                        LOGGER.error("regist fail 'GagoyleParentBeforeLoad' listener.");
                    }
                    try {
                        Class<GagoyleParentOnLoaded> addOnParentLoadedListenerClass = jarWrapper.getAddOnParentLoadedListenerClass();
                        if (addOnParentLoadedListenerClass != null)
                            addOnParentLoadedListener(addOnParentLoadedListenerClass.newInstance());
                    } catch (Exception e) {
                        LOGGER.error("regist fail 'GagoyleParentOnLoaded' listener.");
                    }
                    menuPlugins.getItems().add(pluginMenu);
                } catch (Exception e) {
                    LOGGER.debug(ValueUtil.toString(e));
                }
            });
        }
    });
    //tab image 아이콘 처리
    try (InputStream is = getClass().getResourceAsStream("/META-INF/images/eclipse/eview16/packages.gif")) {
        tabPackageExplorer.setGraphic(new ImageView(new Image(is)));
    } catch (IOException e) {
        e.printStackTrace();
    }
    tabPanWorkspace.getTabs().addListener(dockTabCloseListener);
}
Also used : Arrays(java.util.Arrays) StringUtils(org.apache.commons.lang.StringUtils) MultipleSelectionModel(javafx.scene.control.MultipleSelectionModel) ListChangeListener(javafx.collections.ListChangeListener) JavaProjectFileTreeItem(com.kyj.fx.voeditor.visual.component.JavaProjectFileTreeItem) FileUtil(com.kyj.fx.voeditor.visual.util.FileUtil) Path(java.nio.file.Path) SystemUtils(org.apache.commons.lang.SystemUtils) SplitPane(javafx.scene.control.SplitPane) Pair(javafx.util.Pair) Event(javafx.event.Event) KeyEvent(javafx.scene.input.KeyEvent) PluginLoader(com.kyj.fx.voeditor.visual.loder.PluginLoader) Platform(javafx.application.Platform) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) ResourceLoader(com.kyj.fx.voeditor.visual.momory.ResourceLoader) XMLTextView(com.kyj.fx.voeditor.visual.component.popup.XMLTextView) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) CodeAnalysisJavaTextArea(com.kyj.fx.voeditor.visual.component.text.CodeAnalysisJavaTextArea) DbExecListener(com.kyj.fx.voeditor.visual.util.DbExecListener) SVNViewer(com.kyj.fx.voeditor.visual.component.scm.SVNViewer) TreeItem(javafx.scene.control.TreeItem) FXCollections(javafx.collections.FXCollections) DialogUtil(com.kyj.fx.voeditor.visual.util.DialogUtil) FilePropertiesComposite(com.kyj.fx.voeditor.visual.component.file.FilePropertiesComposite) FXMLLoader(javafx.fxml.FXMLLoader) SpecResource(com.kyj.fx.voeditor.visual.words.spec.auto.msword.ui.model.SpecResource) UtubeDownloaderComposite(com.kyj.fx.voeditor.visual.component.utube.UtubeDownloaderComposite) Properties(java.util.Properties) ImageViewPane(com.kyj.fx.voeditor.visual.component.ImageViewPane) TitledPane(javafx.scene.control.TitledPane) Node(javafx.scene.Node) IOException(java.io.IOException) FileUtils(org.apache.commons.io.FileUtils) RuntimeClassUtil(com.kyj.fx.voeditor.visual.util.RuntimeClassUtil) File(java.io.File) ReadOnlySingletonConsole(com.kyj.fx.voeditor.visual.component.console.ReadOnlySingletonConsole) GoogleTrendComposite(com.kyj.fx.voeditor.visual.component.google.trend.GoogleTrendComposite) Menu(javafx.scene.control.Menu) ContextMenuEvent(javafx.scene.input.ContextMenuEvent) KeyCodeCombination(javafx.scene.input.KeyCodeCombination) NrchRealtimeSrchFlowComposite(com.kyj.fx.voeditor.visual.component.nrch.realtime.NrchRealtimeSrchFlowComposite) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) Tab(javafx.scene.control.Tab) ImageView(javafx.scene.image.ImageView) ResultDialog(com.kyj.fx.voeditor.visual.component.ResultDialog) SkinManager(com.kyj.fx.voeditor.visual.momory.SkinManager) Image(javafx.scene.image.Image) EventHandler(javafx.event.EventHandler) Button(javafx.scene.control.Button) DbUtil(com.kyj.fx.voeditor.visual.util.DbUtil) LoggerFactory(org.slf4j.LoggerFactory) NullExpresion(com.kyj.fx.voeditor.visual.util.NullExpresion) JavaSVNManager(com.kyj.scm.manager.svn.java.JavaSVNManager) SVNWcDbClient(com.kyj.scm.manager.svn.java.SVNWcDbClient) PDFImageBasePane(com.kyj.fx.voeditor.visual.component.PDFImageBasePane) VBox(javafx.scene.layout.VBox) SelectWorkspaceView(com.kyj.fx.voeditor.visual.component.popup.SelectWorkspaceView) PMDCheckedListComposite(com.kyj.fx.voeditor.visual.component.pmd.PMDCheckedListComposite) Parent(javafx.scene.Parent) JavaProjectMemberFileTreeItem(com.kyj.fx.voeditor.visual.component.JavaProjectMemberFileTreeItem) ContextMenu(javafx.scene.control.ContextMenu) GargoyleExtensionFilters(com.kyj.fx.voeditor.visual.util.GargoyleExtensionFilters) CommonsSqllPan(com.kyj.fx.voeditor.visual.component.sql.view.CommonsSqllPan) WindowEvent(javafx.stage.WindowEvent) FXMLTextView(com.kyj.fx.voeditor.visual.component.popup.FXMLTextView) GagoyleWorkspaceOpenResourceView(com.kyj.fx.voeditor.visual.component.popup.GagoyleWorkspaceOpenResourceView) TextField(javafx.scene.control.TextField) Main(com.kyj.fx.voeditor.visual.main.Main) MenuItem(javafx.scene.control.MenuItem) PMDUtil(com.kyj.fx.voeditor.visual.util.PMDUtil) SimpleTextView(com.kyj.fx.voeditor.visual.component.text.SimpleTextView) ConfigResourceLoader(com.kyj.fx.voeditor.visual.momory.ConfigResourceLoader) DockTab(com.kyj.fx.voeditor.visual.component.dock.tab.DockTab) TreeView(javafx.scene.control.TreeView) JarWrapper(com.kyj.fx.voeditor.visual.loder.JarWrapper) FXML(javafx.fxml.FXML) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) Priority(javafx.scene.layout.Priority) List(java.util.List) GagoyleParentBeforeLoad(com.kyj.fx.voeditor.visual.framework.GagoyleParentBeforeLoad) SpecTabPane(com.kyj.fx.voeditor.visual.words.spec.auto.msword.ui.tabs.SpecTabPane) GagoyleParentOnLoaded(com.kyj.fx.voeditor.visual.framework.GagoyleParentOnLoaded) Optional(java.util.Optional) LogViewComposite(com.kyj.fx.voeditor.visual.component.text.LogViewComposite) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) ReadOnlyConsole(com.kyj.fx.voeditor.visual.component.console.ReadOnlyConsole) Scene(javafx.scene.Scene) DockTabPane(com.kyj.fx.voeditor.visual.component.dock.tab.DockTabPane) DesignerFxComposite(com.kyj.fx.voeditor.visual.component.pmd.DesignerFxComposite) BigTextView(com.kyj.fx.voeditor.visual.component.popup.BigTextView) JavaProcessMonitor(com.kyj.fx.voeditor.visual.component.bci.view.JavaProcessMonitor) MouseEvent(javafx.scene.input.MouseEvent) WebViewConsole(com.kyj.fx.voeditor.visual.component.console.WebViewConsole) FileWrapper(com.kyj.fx.voeditor.visual.component.FileWrapper) ProgramSpecUtil(com.kyj.fx.voeditor.visual.words.spec.auto.msword.util.ProgramSpecUtil) JavaTextView(com.kyj.fx.voeditor.visual.component.popup.JavaTextView) Tooltip(javafx.scene.control.Tooltip) GargoyleException(com.kyj.fx.voeditor.visual.exceptions.GargoyleException) KeyCode(javafx.scene.input.KeyCode) WebView(javafx.scene.web.WebView) ObjectProperty(javafx.beans.property.ObjectProperty) Logger(org.slf4j.Logger) CaptureScreenComposite(com.kyj.fx.voeditor.visual.component.capture.CaptureScreenComposite) ProxyServerComposite(com.kyj.fx.voeditor.visual.component.proxy.ProxyServerComposite) ValueUtil(com.kyj.fx.voeditor.visual.util.ValueUtil) FileInputStream(java.io.FileInputStream) ProjectFileTreeItemCreator(com.kyj.fx.voeditor.visual.component.ProjectFileTreeItemCreator) ActionEvent(javafx.event.ActionEvent) SystemConsole(com.kyj.fx.voeditor.visual.component.console.SystemConsole) Stage(javafx.stage.Stage) Closeable(java.io.Closeable) ExtensionFilter(javafx.stage.FileChooser.ExtensionFilter) InputStream(java.io.InputStream) SharedMemory(com.kyj.fx.voeditor.visual.momory.SharedMemory) Parent(javafx.scene.Parent) Image(javafx.scene.image.Image) FXMLLoader(javafx.fxml.FXMLLoader) JarWrapper(com.kyj.fx.voeditor.visual.loder.JarWrapper) ObservableList(javafx.collections.ObservableList) List(java.util.List) ImageView(javafx.scene.image.ImageView) TitledPane(javafx.scene.control.TitledPane) FileInputStream(java.io.FileInputStream) InputStream(java.io.InputStream) MenuItem(javafx.scene.control.MenuItem) SeparatorMenuItem(javafx.scene.control.SeparatorMenuItem) IOException(java.io.IOException) IOException(java.io.IOException) GargoyleException(com.kyj.fx.voeditor.visual.exceptions.GargoyleException) DockTab(com.kyj.fx.voeditor.visual.component.dock.tab.DockTab) File(java.io.File) WebViewConsole(com.kyj.fx.voeditor.visual.component.console.WebViewConsole) FXML(javafx.fxml.FXML)

Example 10 with ObservableList

use of javafx.collections.ObservableList in project Gargoyle by callakrsos.

the class NrchRealtimeSrchFlowComposite method defineService.

private void defineService() {
    /*
		 * 비동기 실시간 검색어 조회 처리가 기술.
		 */
    service = new Service<List<RealtimeSearchVO>>() {

        @Override
        protected Task<List<RealtimeSearchVO>> createTask() {
            return new Task<List<RealtimeSearchVO>>() {

                @Override
                protected List<RealtimeSearchVO> call() throws Exception {
                    List<RealtimeSearchVO> meta = Collections.emptyList();
                    try {
                        meta = NaverRealtimeSrchSupplier.getInstance().getMeta();
                    } catch (Exception e) {
                        DialogUtil.showExceptionDailog(e);
                    }
                    return meta;
                }
            };
        }
    };
    service.setOnCancelled(stat -> {
        if (State.CANCELLED == stat.getSource().getState()) {
            LOGGER.debug("Cancel Requested");
        }
    });
    service.setOnSucceeded(stat -> {
        applyResponseTime(DateUtil.getCurrentDateString());
        FlowCardComposite value = new FlowCardComposite();
        flowCardComposite.set(value);
        this.getParent().setCenter(flowCardComposite.get());
        FlowCardComposite tmp = flowCardComposite.get();
        ObservableList<Node> flowChildrens = tmp.getFlowChildrens();
        tmp.setLimitColumn(20);
        data.setAll((List<RealtimeSearchVO>) stat.getSource().getValue());
        List<VBox> collect = data.stream().map(nodeConverter::apply).flatMap(v -> v.stream()).collect(Collectors.toList());
        flowChildrens.setAll(collect);
        if (isRecycle.get()) {
            WaitThread waitThread = new WaitThread(THREAD_RUNNER_GROUP, choWaitItems.getValue()) {

                @Override
                public boolean isContinue() {
                    return isRecycle.get();
                }

                @Override
                public void execute() {
                    Platform.runLater(() -> {
                        if (isContinue())
                            service.restart();
                    });
                }

                @Override
                public boolean isRecycle() {
                    return isRecycle.get();
                }
            };
            waitThread.setDaemon(true);
            waitThread.start();
        }
    });
}
Also used : IntStream(java.util.stream.IntStream) Button(javafx.scene.control.Button) Pos(javafx.geometry.Pos) MouseButton(javafx.scene.input.MouseButton) RealtimeSearchVO(com.kyj.fx.voeditor.visual.framework.RealtimeSearchVO) LoggerFactory(org.slf4j.LoggerFactory) FXCollections(javafx.collections.FXCollections) DialogUtil(com.kyj.fx.voeditor.visual.util.DialogUtil) VBox(javafx.scene.layout.VBox) Function(java.util.function.Function) RealtimeSearchItemVO(com.kyj.fx.voeditor.visual.framework.RealtimeSearchItemVO) RejectedExecutionException(java.util.concurrent.RejectedExecutionException) Task(javafx.concurrent.Task) Insets(javafx.geometry.Insets) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ContextMenu(javafx.scene.control.ContextMenu) State(javafx.concurrent.Worker.State) ExecutorService(java.util.concurrent.ExecutorService) HBox(javafx.scene.layout.HBox) ObjectProperty(javafx.beans.property.ObjectProperty) Logger(org.slf4j.Logger) Label(javafx.scene.control.Label) MenuItem(javafx.scene.control.MenuItem) TitledPane(javafx.scene.control.TitledPane) CloseableParent(com.kyj.fx.voeditor.visual.main.layout.CloseableParent) Node(javafx.scene.Node) IOException(java.io.IOException) ValueUtil(com.kyj.fx.voeditor.visual.util.ValueUtil) Service(javafx.concurrent.Service) Collectors(java.util.stream.Collectors) ChoiceBox(javafx.scene.control.ChoiceBox) GoogleTrendComposite(com.kyj.fx.voeditor.visual.component.google.trend.GoogleTrendComposite) Platform(javafx.application.Platform) Cursor(javafx.scene.Cursor) FxUtil(com.kyj.fx.voeditor.visual.util.FxUtil) List(java.util.List) BooleanProperty(javafx.beans.property.BooleanProperty) SimpleBooleanProperty(javafx.beans.property.SimpleBooleanProperty) NaverRealtimeSrchSupplier(com.kyj.fx.voeditor.visual.suppliers.NaverRealtimeSrchSupplier) SimpleObjectProperty(javafx.beans.property.SimpleObjectProperty) FlowCardComposite(com.kyj.fx.voeditor.visual.component.FlowCardComposite) DateUtil(com.kyj.fx.voeditor.visual.util.DateUtil) ObservableList(javafx.collections.ObservableList) BorderPane(javafx.scene.layout.BorderPane) Collections(java.util.Collections) ExecutorDemons(com.kyj.fx.voeditor.visual.framework.thread.ExecutorDemons) SharedMemory(com.kyj.fx.voeditor.visual.momory.SharedMemory) Task(javafx.concurrent.Task) Node(javafx.scene.Node) RejectedExecutionException(java.util.concurrent.RejectedExecutionException) IOException(java.io.IOException) RealtimeSearchVO(com.kyj.fx.voeditor.visual.framework.RealtimeSearchVO) FlowCardComposite(com.kyj.fx.voeditor.visual.component.FlowCardComposite) List(java.util.List) ObservableList(javafx.collections.ObservableList) VBox(javafx.scene.layout.VBox)

Aggregations

ObservableList (javafx.collections.ObservableList)77 List (java.util.List)46 ArrayList (java.util.ArrayList)31 Collectors (java.util.stream.Collectors)29 Map (java.util.Map)28 FXCollections (javafx.collections.FXCollections)28 HashMap (java.util.HashMap)21 Node (javafx.scene.Node)20 TableColumn (javafx.scene.control.TableColumn)20 Label (javafx.scene.control.Label)18 Optional (java.util.Optional)17 ActionEvent (javafx.event.ActionEvent)16 FXML (javafx.fxml.FXML)16 TableView (javafx.scene.control.TableView)16 MouseEvent (javafx.scene.input.MouseEvent)16 Logger (org.slf4j.Logger)16 LoggerFactory (org.slf4j.LoggerFactory)16 Button (javafx.scene.control.Button)15 BorderPane (javafx.scene.layout.BorderPane)15 File (java.io.File)14