public static Configuration getFoundationDBConfig() { BaseConfiguration config = new BaseConfiguration(); config.addProperty(GraphDatabaseConfiguration.STORAGE_BACKEND_KEY, "foundationdb"); return config; }
public void openFileObjectsIntoOneView(FileObject[] files, Object guiSource) { ArrayList<LoadingInfo> list = new ArrayList<>(); for (final FileObject file : files) { try { list.add(Utils.openFileObject(file, true)); } catch (Exception e1) { LOGGER.warn( String.format( "Can't open file %s: %s", file.getName().getFriendlyURI(), e1.getMessage())); } } if (list.size() == 0) { JOptionPane.showMessageDialog( (Component) guiSource, "No files can be opened :(", "Open error", JOptionPane.ERROR_MESSAGE); return; } LoadingInfo[] loadingInfos = new LoadingInfo[list.size()]; loadingInfos = list.toArray(loadingInfos); Collection<LogImporter> elements = AllPluginables.getInstance().getLogImportersContainer().getElements(); LogImporter[] importers = elements.toArray(new LogImporter[elements.size()]); String[] names = new String[elements.size()]; for (int i = 0; i < names.length; i++) { names[i] = importers[i].getName(); } TableColumns[] visibleColumns = { TableColumns.ID, // TableColumns.TIME, // TableColumns.LEVEL, // TableColumns.MESSAGE, // TableColumns.CLASS, // TableColumns.METHOD, // TableColumns.THREAD, // TableColumns.MARK, // TableColumns.NOTE, // TableColumns.LOG_SOURCE }; final LogViewPanelWrapper logViewPanelWrapper = new LogViewPanelWrapper( "Multiple log files " + loadingInfos.length, null, visibleColumns, getOtrosApplication()); logViewPanelWrapper.goToLiveMode(); BaseConfiguration configuration = new BaseConfiguration(); configuration.addProperty(ConfKeys.TAILING_PANEL_PLAY, true); configuration.addProperty(ConfKeys.TAILING_PANEL_FOLLOW, true); BufferingLogDataCollectorProxy logDataCollector = new BufferingLogDataCollectorProxy( logViewPanelWrapper.getDataTableModel(), 4000, configuration); StringBuilder sb = new StringBuilder(); sb.append("<html>Multiple files:<br>"); for (LoadingInfo loadingInfo : loadingInfos) { sb.append(loadingInfo.getFriendlyUrl()); sb.append("<BR>"); } sb.append("</html>"); getOtrosApplication() .addClosableTab( String.format("Multiple logs [%d]", loadingInfos.length), sb.toString(), Icons.ARROW_REPEAT, logViewPanelWrapper, true); LogImporter importer = new DetectOnTheFlyLogImporter(elements); try { importer.init(new Properties()); } catch (InitializationException e1) { LOGGER.error("Cant initialize DetectOnTheFlyLogImporter: " + e1.getMessage()); JOptionPane.showMessageDialog( (Component) guiSource, "Cant initialize DetectOnTheFlyLogImporter: " + e1.getMessage(), "Open error", JOptionPane.ERROR_MESSAGE); } for (LoadingInfo loadingInfo : loadingInfos) { TailLogActionListener tailLogActionListener = new TailLogActionListener(getOtrosApplication(), importer); tailLogActionListener.openFileObjectInTailMode( logViewPanelWrapper, loadingInfo, logDataCollector); ParsingContext parsingContext = new ParsingContext( loadingInfo.getFileObject().getName().getFriendlyURI(), loadingInfo.getFileObject().getName().getBaseName()); logViewPanelWrapper.addHierarchyListener( new ReadingStopperForRemove( loadingInfo.getObserableInputStreamImpl(), logDataCollector, new ParsingContextStopperForClosingTab(parsingContext))); } SwingUtilities.invokeLater(logViewPanelWrapper::switchToContentView); }