List of usage examples for org.apache.commons.lang3 StringUtils substringBeforeLast
public static String substringBeforeLast(final String str, final String separator)
Gets the substring before the last occurrence of a separator.
From source file:org.cryptomator.frontend.webdav.servlet.DavLocatorImpl.java
public DavLocatorImpl resolveParent() { if (isRootLocation()) { // root does not have a parent: return null; } else if (resourcePath.contains("/")) { // parent is a directory: String parentResourcePath = StringUtils.substringBeforeLast(resourcePath, "/"); return factory.createResourceLocator(prefix, null, parentResourcePath); } else {//ww w . j av a2s .co m // parent is root: return factory.createResourceLocator(prefix, null, ""); } }
From source file:org.dbgl.gui.SettingsDialog.java
protected void createContents() { shell = new Shell(getParent(), SWT.TITLE | SWT.CLOSE | SWT.BORDER | SWT.RESIZE | SWT.APPLICATION_MODAL); shell.setLayout(new BorderLayout(0, 0)); shell.addControlListener(new SizeControlAdapter(shell, "settingsdialog")); shell.setText(settings.msg("dialog.settings.title")); final TabFolder tabFolder = new TabFolder(shell, SWT.NONE); final TabItem generalTabItem = new TabItem(tabFolder, SWT.NONE); generalTabItem.setText(settings.msg("dialog.settings.tab.general")); final Composite composite = new Composite(tabFolder, SWT.NONE); composite.setLayout(new GridLayout()); generalTabItem.setControl(composite); final Group dosboxGroup = new Group(composite, SWT.NONE); dosboxGroup.setText(settings.msg("dialog.settings.dosbox")); dosboxGroup.setLayout(new GridLayout(2, false)); final Label showConsoleLabel = new Label(dosboxGroup, SWT.NONE); showConsoleLabel.setText(settings.msg("dialog.settings.hidestatuswindow")); final Button console = new Button(dosboxGroup, SWT.CHECK); console.setSelection(conf.getBooleanValue("dosbox", "hideconsole")); final Group sendToGroup = new Group(composite, SWT.NONE); sendToGroup.setText(settings.msg("dialog.settings.sendto")); sendToGroup.setLayout(new GridLayout(2, false)); final Label enableCommLabel = new Label(sendToGroup, SWT.NONE); enableCommLabel.setText(settings.msg("dialog.settings.enableport")); final Button portEnabled = new Button(sendToGroup, SWT.CHECK); portEnabled.setSelection(conf.getBooleanValue("communication", "port_enabled")); portEnabled.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { port.setEnabled(portEnabled.getSelection()); }/*from w w w . ja v a 2 s. c om*/ }); final Label portnumberLabel = new Label(sendToGroup, SWT.NONE); portnumberLabel.setText(settings.msg("dialog.settings.port")); port = new Text(sendToGroup, SWT.BORDER); port.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); port.setText(conf.getValue("communication", "port")); port.setEnabled(portEnabled.getSelection()); final Group profileDefGroup = new Group(composite, SWT.NONE); profileDefGroup.setText(settings.msg("dialog.settings.profiledefaults")); profileDefGroup.setLayout(new GridLayout(3, false)); final Label configFileLabel = new Label(profileDefGroup, SWT.NONE); configFileLabel.setText(settings.msg("dialog.settings.configfile")); confLocation = new Combo(profileDefGroup, SWT.READ_ONLY); confLocation.setItems(confLocations); confLocation.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); confLocation.select(conf.getIntValue("profiledefaults", "confpath")); confFilename = new Combo(profileDefGroup, SWT.READ_ONLY); confFilename.setItems(confFilenames); confFilename.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); confFilename.select(conf.getIntValue("profiledefaults", "conffile")); final Group i18nGroup = new Group(composite, SWT.NONE); i18nGroup.setText(settings.msg("dialog.settings.i18n")); i18nGroup.setLayout(new GridLayout(2, false)); final Label languageLabel = new Label(i18nGroup, SWT.NONE); languageLabel.setText(settings.msg("dialog.settings.languagecountry")); localeCombo = new Combo(i18nGroup, SWT.READ_ONLY); Locale locale = new Locale(conf.getValue("locale", "language"), conf.getValue("locale", "country"), conf.getValue("locale", "variant")); final SortedMap<String, Locale> locales = new TreeMap<String, Locale>(); String locString = ""; java.util.List<String> supportedLanguages = new ArrayList<String>(SUPPORTED_LANGUAGES); File[] files = new File("./plugins/i18n").listFiles(); if (files != null) { for (File file : files) { String name = file.getName(); if (name.startsWith("MessagesBundle_") && name.endsWith(".properties")) { String code = name.substring("MessagesBundle_".length(), name.indexOf(".properties")); if (code.length() > 0) { supportedLanguages.add(code); } } } } for (String lang : supportedLanguages) { Locale loc = allLocales.get(lang); String variant = null; if (loc == null && StringUtils.countMatches(lang, "_") == 2) { String langWithoutVariant = StringUtils.removeEnd(StringUtils.substringBeforeLast(lang, "_"), "_"); variant = StringUtils.substringAfterLast(lang, "_"); loc = allLocales.get(langWithoutVariant); } if (loc != null) { StringBuffer s = new StringBuffer(loc.getDisplayLanguage(Locale.getDefault())); if (loc.getCountry().length() > 0) s.append(" - ").append(loc.getDisplayCountry(Locale.getDefault())); if (variant != null) { s.append(" (").append(variant).append(')'); loc = new Locale(loc.getLanguage(), loc.getCountry(), variant); } locales.put(s.toString(), loc); if (loc.equals(locale)) { locString = s.toString(); } } } for (String sloc : locales.keySet()) { localeCombo.add(sloc); } localeCombo.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); localeCombo.setText(locString); localeCombo.setVisibleItemCount(20); columnsTabItem = new TabItem(tabFolder, SWT.NONE); columnsTabItem.setText(settings.msg("dialog.settings.tab.profiletable")); final Composite composite2 = new Composite(tabFolder, SWT.NONE); composite2.setLayout(new BorderLayout(0, 0)); columnsTabItem.setControl(composite2); final Group visColumnsGroup = new Group(composite2, SWT.NONE); visColumnsGroup.setLayout(new FillLayout()); visColumnsGroup.setText(settings.msg("dialog.settings.visiblecolunms")); visible_columns = new Table(visColumnsGroup, SWT.FULL_SELECTION | SWT.BORDER | SWT.CHECK); visible_columns.setLinesVisible(true); TableColumn column1 = new TableColumn(visible_columns, SWT.NONE); column1.setWidth(350); java.util.List<Integer> visibleColumnIDs = new ArrayList<Integer>(); for (int i = 0; i < MainWindow.columnNames.length; i++) if (conf.getBooleanValue("gui", "column" + (i + 1) + "visible")) visibleColumnIDs.add(i); java.util.List<Integer> orderedVisibleColumnIDs = new ArrayList<Integer>(); int[] columnOrder = conf.getIntValues("gui", "columnorder"); for (int i = 0; i < columnOrder.length; i++) orderedVisibleColumnIDs.add(visibleColumnIDs.get(columnOrder[i])); java.util.List<Integer> remainingColumnIDs = new ArrayList<Integer>(); for (int i = 0; i < MainWindow.columnNames.length; i++) if (!orderedVisibleColumnIDs.contains(i)) remainingColumnIDs.add(i); allColumnIDs = new ArrayList<Integer>(orderedVisibleColumnIDs); allColumnIDs.addAll(remainingColumnIDs); visibleColumns = new TableItem[MainWindow.columnNames.length]; for (int i = 0; i < MainWindow.columnNames.length; i++) { visibleColumns[i] = new TableItem(visible_columns, SWT.BORDER); visibleColumns[i].setText(MainWindow.columnNames[allColumnIDs.get(i)]); visibleColumns[i] .setChecked(conf.getBooleanValue("gui", "column" + (allColumnIDs.get(i) + 1) + "visible")); } final TableEditor editor = new TableEditor(visible_columns); editor.horizontalAlignment = SWT.LEFT; editor.grabHorizontal = true; editor.minimumWidth = 50; visible_columns.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { // Clean up any previous editor control Control oldEditor = editor.getEditor(); if (oldEditor != null) { oldEditor.dispose(); } // Identify the selected row TableItem item = (TableItem) event.item; if (item == null) { return; } int selIdx = item.getParent().getSelectionIndex(); if (selIdx == -1) return; int idx = allColumnIDs.get(selIdx); if (idx < Constants.RO_COLUMN_NAMES || idx >= (Constants.RO_COLUMN_NAMES + Constants.EDIT_COLUMN_NAMES)) return; // The control that will be the editor must be a child of the table Text newEditor = new Text(visible_columns, SWT.NONE); newEditor.setText(item.getText(EDITABLE_COLUMN)); newEditor.addModifyListener(new ModifyListener() { public void modifyText(final ModifyEvent mEvent) { Text text = (Text) editor.getEditor(); editor.getItem().setText(EDITABLE_COLUMN, text.getText()); } }); newEditor.selectAll(); newEditor.setFocus(); editor.setEditor(newEditor, item, EDITABLE_COLUMN); } }); final Group addProfGroup = new Group(composite2, SWT.NONE); addProfGroup.setLayout(new GridLayout(2, false)); addProfGroup.setText(settings.msg("dialog.settings.addeditduplicateprofile")); addProfGroup.setLayoutData(BorderLayout.SOUTH); final Label autoSortLabel = new Label(addProfGroup, SWT.NONE); autoSortLabel.setText(settings.msg("dialog.settings.autosort")); final Button autosort = new Button(addProfGroup, SWT.CHECK); autosort.setSelection(conf.getBooleanValue("gui", "autosortonupdate")); final TabItem dynTabItem = new TabItem(tabFolder, SWT.NONE); dynTabItem.setText(settings.msg("dialog.settings.tab.dynamicoptions")); final Composite composite_1 = new Composite(tabFolder, SWT.NONE); composite_1.setLayout(new FillLayout()); dynTabItem.setControl(composite_1); final Group dynOptionsGroup = new Group(composite_1, SWT.NONE); dynOptionsGroup.setLayout(new GridLayout(2, false)); dynOptionsGroup.setText(settings.msg("dialog.settings.dynamicoptions")); final Label optionsLabel = new Label(dynOptionsGroup, SWT.NONE); optionsLabel.setText(settings.msg("dialog.settings.options")); final Label valuesLabel = new Label(dynOptionsGroup, SWT.NONE); valuesLabel.setText(settings.msg("dialog.settings.values")); options = new List(dynOptionsGroup, SWT.V_SCROLL | SWT.BORDER); options.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { storeValues(); previousSelection = options.getSelectionIndex(); if (previousSelection != -1) { values.setText(conf.getMultilineValues("profile", options.getItem(previousSelection), values.getLineDelimiter())); } } }); options.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); for (String s : conf.getAllItemNames("profile")) { options.add(s); } values = new Text(dynOptionsGroup, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL); values.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); final TabItem guiTabItem = new TabItem(tabFolder, SWT.NONE); guiTabItem.setText(settings.msg("dialog.settings.tab.gui")); final Composite composite1 = new Composite(tabFolder, SWT.NONE); composite1.setLayout(new GridLayout(2, false)); guiTabItem.setControl(composite1); Group screenshots = new Group(composite1, SWT.NONE); screenshots.setLayout(new GridLayout(3, false)); GridData screenshotsLData = new GridData(); screenshotsLData.grabExcessHorizontalSpace = true; screenshotsLData.horizontalAlignment = GridData.FILL; screenshotsLData.horizontalSpan = 2; screenshots.setLayoutData(screenshotsLData); screenshots.setText(settings.msg("dialog.settings.screenshots")); Label heightLabel = new Label(screenshots, SWT.NONE); heightLabel.setText(settings.msg("dialog.settings.height")); GridData sshotsHeightData = new GridData(); sshotsHeightData.grabExcessHorizontalSpace = true; sshotsHeightData.horizontalAlignment = GridData.FILL; screenshotsHeight = new Scale(screenshots, SWT.NONE); screenshotsHeight.setMaximum(750); screenshotsHeight.setMinimum(50); screenshotsHeight.setLayoutData(sshotsHeightData); screenshotsHeight.setIncrement(25); screenshotsHeight.setPageIncrement(100); screenshotsHeight.setSelection(conf.getIntValue("gui", "screenshotsheight")); screenshotsHeight.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent evt) { heightValue.setText(screenshotsHeight.getSelection() + settings.msg("dialog.settings.px")); heightValue.pack(); } }); heightValue = new Label(screenshots, SWT.NONE); heightValue.setText(screenshotsHeight.getSelection() + settings.msg("dialog.settings.px")); final Label displayFilenameLabel = new Label(screenshots, SWT.NONE); displayFilenameLabel.setText(settings.msg("dialog.settings.screenshotsfilename")); final Button displayFilename = new Button(screenshots, SWT.CHECK); displayFilename.setSelection(conf.getBooleanValue("gui", "screenshotsfilename")); Group screenshotsColumn = new Group(composite1, SWT.NONE); screenshotsColumn.setLayout(new GridLayout(3, false)); GridData screenshotsCData = new GridData(); screenshotsCData.grabExcessHorizontalSpace = true; screenshotsCData.horizontalAlignment = GridData.FILL; screenshotsCData.horizontalSpan = 2; screenshotsColumn.setLayoutData(screenshotsCData); screenshotsColumn.setText(settings.msg("dialog.settings.screenshotscolumn")); Label columnHeightLabel = new Label(screenshotsColumn, SWT.NONE); columnHeightLabel.setText(settings.msg("dialog.settings.height")); screenshotsColumnHeight = new Scale(screenshotsColumn, SWT.NONE); screenshotsColumnHeight.setMaximum(200); screenshotsColumnHeight.setMinimum(16); GridData sshotsColumnHeightData = new GridData(); sshotsColumnHeightData.grabExcessHorizontalSpace = true; sshotsColumnHeightData.horizontalAlignment = GridData.FILL; screenshotsColumnHeight.setLayoutData(sshotsColumnHeightData); screenshotsColumnHeight.setIncrement(4); screenshotsColumnHeight.setPageIncrement(16); screenshotsColumnHeight.setSelection(conf.getIntValue("gui", "screenshotscolumnheight")); screenshotsColumnHeight.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent evt) { columnHeightValue .setText(screenshotsColumnHeight.getSelection() + settings.msg("dialog.settings.px")); columnHeightValue.pack(); } }); columnHeightValue = new Label(screenshotsColumn, SWT.NONE); columnHeightValue.setText(screenshotsColumnHeight.getSelection() + settings.msg("dialog.settings.px")); final Label stretchLabel = new Label(screenshotsColumn, SWT.NONE); stretchLabel.setText(settings.msg("dialog.settings.screenshotscolumnstretch")); final Button stretch = new Button(screenshotsColumn, SWT.CHECK); stretch.setSelection(conf.getBooleanValue("gui", "screenshotscolumnstretch")); new Label(screenshotsColumn, SWT.NONE); final Label keepAspectRatioLabel = new Label(screenshotsColumn, SWT.NONE); keepAspectRatioLabel.setText(settings.msg("dialog.settings.screenshotscolumnkeepaspectratio")); final Button keepAspectRatio = new Button(screenshotsColumn, SWT.CHECK); keepAspectRatio.setSelection(conf.getBooleanValue("gui", "screenshotscolumnkeepaspectratio")); new Label(screenshotsColumn, SWT.NONE); keepAspectRatio.setEnabled(stretch.getSelection()); stretch.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { keepAspectRatio.setEnabled(stretch.getSelection()); } }); Group buttonsGroup = new Group(composite1, SWT.NONE); buttonsGroup.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, true, false)); buttonsGroup.setLayout(new GridLayout(2, false)); buttonsGroup.setText(settings.msg("dialog.settings.buttons")); final Label buttonLabel = new Label(buttonsGroup, SWT.NONE); buttonLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); buttonLabel.setText(settings.msg("dialog.settings.display")); buttonDisplay = new Combo(buttonsGroup, SWT.READ_ONLY); buttonDisplay.setItems(buttonDisplayOptions); buttonDisplay.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); buttonDisplay.select(conf.getIntValue("gui", "buttondisplay")); final Group notesGroup = new Group(composite1, SWT.NONE); notesGroup.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); notesGroup.setLayout(new GridLayout(2, false)); notesGroup.setText(settings.msg("dialog.profile.notes")); final Label fontLabel = new Label(notesGroup, SWT.NONE); fontLabel.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); fontLabel.setText(settings.msg("dialog.settings.font")); final Button fontButton = new Button(notesGroup, SWT.PUSH); fontButton.setLayoutData(new GridData(SWT.FILL, SWT.CENTER, true, false)); Font f = GeneralPurposeGUI.stringToFont(shell.getDisplay(), port.getFont(), conf.getValues("gui", "notesfont")); fontButton.setText(f.getFontData()[0].getName()); fontButton.setFont(f); fontButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(SelectionEvent e) { FontDialog fd = new FontDialog(shell, SWT.NONE); fd.setFontList(fontButton.getFont().getFontData()); FontData newFont = fd.open(); if (newFont != null) { fontButton.setText(newFont.getName()); fontButton.setFont(new Font(shell.getDisplay(), newFont)); notesGroup.setSize(notesGroup.computeSize(SWT.DEFAULT, SWT.DEFAULT)); composite1.layout(); } } }); final TabItem enginesTabItem = new TabItem(tabFolder, SWT.NONE); enginesTabItem.setText(settings.msg("dialog.settings.tab.engines")); Composite compositeHoldingSubTabs = new Composite(tabFolder, SWT.NONE); compositeHoldingSubTabs.setLayout(new FillLayout()); enginesTabItem.setControl(compositeHoldingSubTabs); final TabFolder enginesTabFolder = new TabFolder(compositeHoldingSubTabs, SWT.NONE); setTitle = new Button[NR_OF_ENGINES]; setDev = new Button[NR_OF_ENGINES]; setPub = new Button[NR_OF_ENGINES]; setYear = new Button[NR_OF_ENGINES]; setGenre = new Button[NR_OF_ENGINES]; setLink = new Button[NR_OF_ENGINES]; setRank = new Button[NR_OF_ENGINES]; setDescr = new Button[NR_OF_ENGINES]; allRegionsCoverArt = new Button[NR_OF_ENGINES]; chooseCoverArt = new Button[NR_OF_ENGINES]; chooseScreenshot = new Button[NR_OF_ENGINES]; maxCoverArt = new Spinner[NR_OF_ENGINES]; maxScreenshots = new Spinner[NR_OF_ENGINES]; platformFilterValues = new Text[NR_OF_ENGINES]; for (int i = 0; i < NR_OF_ENGINES; i++) { WebSearchEngine engine = EditProfileDialog.webSearchEngines.get(i); final TabItem engineTabItem = new TabItem(enginesTabFolder, SWT.NONE); engineTabItem.setText(settings.msg("dialog.settings.tab." + engine.getSimpleName())); Composite composite3 = new Composite(enginesTabFolder, SWT.NONE); composite3.setLayout(new GridLayout(1, true)); engineTabItem.setControl(composite3); Group consult = new Group(composite3, SWT.NONE); consult.setLayout(new GridLayout(2, false)); GridData consultLData = new GridData(); consultLData.grabExcessHorizontalSpace = true; consultLData.horizontalAlignment = GridData.FILL; consultLData.grabExcessVerticalSpace = true; consultLData.verticalAlignment = GridData.FILL; consult.setLayoutData(consultLData); consult.setText(settings.msg("dialog.settings.consult", new String[] { engine.getName() })); Label titleLabel = new Label(consult, SWT.NONE); titleLabel.setText(settings.msg("dialog.settings.settitle")); setTitle[i] = new Button(consult, SWT.CHECK); setTitle[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_title")); Label devLabel = new Label(consult, SWT.NONE); devLabel.setText(settings.msg("dialog.settings.setdeveloper")); setDev[i] = new Button(consult, SWT.CHECK); setDev[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_developer")); if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("hotud") || engine.getSimpleName().equals("thegamesdb")) { Label pubLabel = new Label(consult, SWT.NONE); pubLabel.setText(settings.msg("dialog.settings.setpublisher")); setPub[i] = new Button(consult, SWT.CHECK); setPub[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_publisher")); } Label yearLabel = new Label(consult, SWT.NONE); yearLabel.setText(settings.msg("dialog.settings.setyear")); setYear[i] = new Button(consult, SWT.CHECK); setYear[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_year")); Label genreLabel = new Label(consult, SWT.NONE); genreLabel.setText(settings.msg("dialog.settings.setgenre")); setGenre[i] = new Button(consult, SWT.CHECK); setGenre[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_genre")); Label linkLabel = new Label(consult, SWT.NONE); linkLabel.setText(settings.msg("dialog.settings.setlink", new String[] { engine.getName() })); setLink[i] = new Button(consult, SWT.CHECK); setLink[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_link")); Label rankLabel = new Label(consult, SWT.NONE); rankLabel.setText(settings.msg("dialog.settings.setrank", new Object[] { MainWindow.columnNames[Constants.RO_COLUMN_NAMES + 8] })); setRank[i] = new Button(consult, SWT.CHECK); setRank[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_rank")); if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("hotud") || engine.getSimpleName().equals("thegamesdb")) { Label descrLabel = new Label(consult, SWT.NONE); descrLabel.setText(settings.msg("dialog.settings.setdescription")); setDescr[i] = new Button(consult, SWT.CHECK); setDescr[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "set_description")); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("thegamesdb")) { Label chooseCoverArtLabel = new Label(consult, SWT.NONE); chooseCoverArtLabel.setText(settings.msg("dialog.settings.choosecoverart")); Composite comp = new Composite(consult, SWT.NONE); GridLayout layout = new GridLayout(3, false); layout.marginWidth = 0; comp.setLayout(layout); chooseCoverArt[i] = new Button(comp, SWT.CHECK); chooseCoverArt[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "choose_coverart")); if (engine.getSimpleName().equals("mobygames")) { Label allRegionsCoverArtLabel = new Label(comp, SWT.NONE); allRegionsCoverArtLabel.setText(settings.msg("dialog.settings.allregionscoverart")); GridData gd = new GridData(); gd.horizontalIndent = 40; allRegionsCoverArtLabel.setLayoutData(gd); allRegionsCoverArt[i] = new Button(comp, SWT.CHECK); allRegionsCoverArt[i].setSelection( conf.getBooleanValue(engine.getSimpleName(), "force_all_regions_coverart")); } } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("pouet") || engine.getSimpleName().equals("thegamesdb")) { Label chooseScreenshotLabel = new Label(consult, SWT.NONE); chooseScreenshotLabel.setText(settings.msg("dialog.settings.choosescreenshot")); chooseScreenshot[i] = new Button(consult, SWT.CHECK); chooseScreenshot[i].setSelection(conf.getBooleanValue(engine.getSimpleName(), "choose_screenshot")); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("thegamesdb")) { final Label maxCoverArtLabel = new Label(consult, SWT.NONE); maxCoverArtLabel.setText(settings.msg("dialog.settings.multieditmaxcoverart")); maxCoverArt[i] = new Spinner(consult, SWT.BORDER); maxCoverArt[i].setLayoutData(new GridData(100, SWT.DEFAULT)); maxCoverArt[i].setMinimum(0); maxCoverArt[i].setMaximum(Integer.MAX_VALUE); maxCoverArt[i].setSelection(conf.getIntValue(engine.getSimpleName(), "multi_max_coverart")); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("pouet") || engine.getSimpleName().equals("thegamesdb")) { final Label maxScreenshotsLabel = new Label(consult, SWT.NONE); maxScreenshotsLabel.setText(settings.msg("dialog.settings.multieditmaxscreenshot")); maxScreenshots[i] = new Spinner(consult, SWT.BORDER); maxScreenshots[i].setLayoutData(new GridData(100, SWT.DEFAULT)); maxScreenshots[i].setMinimum(0); maxScreenshots[i].setMaximum(Integer.MAX_VALUE); maxScreenshots[i].setSelection(conf.getIntValue(engine.getSimpleName(), "multi_max_screenshot")); } Label filterLabel = new Label(consult, SWT.NONE); filterLabel.setText(settings.msg("dialog.settings.platformfilter")); if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("pouet")) { platformFilterValues[i] = new Text(consult, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL); platformFilterValues[i].setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); platformFilterValues[i].setText(conf.getMultilineValues(engine.getSimpleName(), "platform_filter", platformFilterValues[i].getLineDelimiter())); } else { platformFilterValues[i] = new Text(consult, SWT.BORDER); platformFilterValues[i].setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, false)); platformFilterValues[i].setText(conf.getValue(engine.getSimpleName(), "platform_filter")); } } final TabItem envTabItem = new TabItem(tabFolder, SWT.NONE); envTabItem.setText(settings.msg("dialog.settings.tab.environment")); Composite composite4 = new Composite(tabFolder, SWT.NONE); composite4.setLayout(new GridLayout(1, true)); envTabItem.setControl(composite4); Group envGroup = new Group(composite4, SWT.NONE); envGroup.setLayout(new GridLayout(2, false)); GridData envLData = new GridData(); envLData.grabExcessHorizontalSpace = true; envLData.horizontalAlignment = GridData.FILL; envLData.grabExcessVerticalSpace = true; envLData.verticalAlignment = GridData.FILL; envGroup.setLayoutData(envLData); envGroup.setText(settings.msg("dialog.settings.environment")); Label enableEnvLabel = new Label(envGroup, SWT.NONE); enableEnvLabel.setText(settings.msg("dialog.settings.enableenvironment")); final Button enableEnv = new Button(envGroup, SWT.CHECK); enableEnv.setSelection(conf.getBooleanValue("environment", "use")); enableEnv.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { envValues.setEnabled(enableEnv.getSelection()); } }); Label envLabel = new Label(envGroup, SWT.NONE); envLabel.setText(settings.msg("dialog.settings.environmentvariables")); envValues = new Text(envGroup, SWT.V_SCROLL | SWT.MULTI | SWT.BORDER | SWT.H_SCROLL); envValues.setLayoutData(new GridData(SWT.FILL, SWT.FILL, true, true)); envValues.setText(conf.getMultilineValues("environment", "value", envValues.getLineDelimiter())); envValues.setEnabled(enableEnv.getSelection()); final Composite composite_7 = new Composite(shell, SWT.NONE); composite_7.setLayout(new GridLayout(2, true)); composite_7.setLayoutData(BorderLayout.SOUTH); final Button okButton = new Button(composite_7, SWT.NONE); okButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { if (!isValid()) { return; } changedVisColumns = haveColumnsBeenChanged(); if (changedVisColumns) updateColumnSettings(); conf.setBooleanValue("dosbox", "hideconsole", console.getSelection()); conf.setBooleanValue("communication", "port_enabled", portEnabled.getSelection()); conf.setValue("communication", "port", port.getText()); conf.setIntValue("profiledefaults", "confpath", confLocation.getSelectionIndex()); conf.setIntValue("profiledefaults", "conffile", confFilename.getSelectionIndex()); conf.setValue("locale", "language", locales.get(localeCombo.getText()).getLanguage()); conf.setValue("locale", "country", locales.get(localeCombo.getText()).getCountry()); conf.setValue("locale", "variant", locales.get(localeCombo.getText()).getVariant()); for (int i = 0; i < MainWindow.columnNames.length; i++) { conf.setBooleanValue("gui", "column" + (i + 1) + "visible", visibleColumns[allColumnIDs.indexOf(i)].getChecked()); } conf.setBooleanValue("gui", "autosortonupdate", autosort.getSelection()); for (int i = 0; i < Constants.EDIT_COLUMN_NAMES; i++) { conf.setValue("gui", "custom" + (i + 1), visibleColumns[allColumnIDs.indexOf(i + Constants.RO_COLUMN_NAMES)].getText()); } conf.setIntValue("gui", "screenshotsheight", screenshotsHeight.getSelection()); conf.setBooleanValue("gui", "screenshotsfilename", displayFilename.getSelection()); conf.setIntValue("gui", "screenshotscolumnheight", screenshotsColumnHeight.getSelection()); conf.setBooleanValue("gui", "screenshotscolumnstretch", stretch.getSelection()); conf.setBooleanValue("gui", "screenshotscolumnkeepaspectratio", keepAspectRatio.getSelection()); Rectangle rec = shell.getBounds(); conf.setIntValue("gui", "settingsdialog_width", rec.width); conf.setIntValue("gui", "settingsdialog_height", rec.height); conf.setIntValue("gui", "buttondisplay", buttonDisplay.getSelectionIndex()); conf.setMultilineValues("gui", "notesfont", GeneralPurposeGUI.fontToString(shell.getDisplay(), fontButton.getFont()), "|"); for (int i = 0; i < NR_OF_ENGINES; i++) { WebSearchEngine engine = EditProfileDialog.webSearchEngines.get(i); conf.setBooleanValue(engine.getSimpleName(), "set_title", setTitle[i].getSelection()); conf.setBooleanValue(engine.getSimpleName(), "set_developer", setDev[i].getSelection()); if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("hotud") || engine.getSimpleName().equals("thegamesdb")) { conf.setBooleanValue(engine.getSimpleName(), "set_publisher", setPub[i].getSelection()); conf.setBooleanValue(engine.getSimpleName(), "set_description", setDescr[i].getSelection()); } conf.setBooleanValue(engine.getSimpleName(), "set_year", setYear[i].getSelection()); conf.setBooleanValue(engine.getSimpleName(), "set_genre", setGenre[i].getSelection()); conf.setBooleanValue(engine.getSimpleName(), "set_link", setLink[i].getSelection()); conf.setBooleanValue(engine.getSimpleName(), "set_rank", setRank[i].getSelection()); if (engine.getSimpleName().equals("mobygames")) { conf.setBooleanValue(engine.getSimpleName(), "force_all_regions_coverart", allRegionsCoverArt[i].getSelection()); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("thegamesdb")) { conf.setBooleanValue(engine.getSimpleName(), "choose_coverart", chooseCoverArt[i].getSelection()); conf.setIntValue(engine.getSimpleName(), "multi_max_coverart", maxCoverArt[i].getSelection()); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("pouet") || engine.getSimpleName().equals("thegamesdb")) { conf.setBooleanValue(engine.getSimpleName(), "choose_screenshot", chooseScreenshot[i].getSelection()); conf.setIntValue(engine.getSimpleName(), "multi_max_screenshot", maxScreenshots[i].getSelection()); } if (engine.getSimpleName().equals("mobygames") || engine.getSimpleName().equals("pouet")) { conf.setMultilineValues(engine.getSimpleName(), "platform_filter", platformFilterValues[i].getText(), platformFilterValues[i].getLineDelimiter()); } else { conf.setValue(engine.getSimpleName(), "platform_filter", platformFilterValues[i].getText()); } } conf.setBooleanValue("environment", "use", enableEnv.getSelection()); conf.setMultilineValues("environment", "value", envValues.getText(), envValues.getLineDelimiter()); storeValues(); settings.getSettings().injectValuesFrom(conf); shell.close(); } private boolean haveColumnsBeenChanged() { for (int i = 0; i < MainWindow.columnNames.length; i++) if ((conf.getBooleanValue("gui", "column" + (allColumnIDs.get(i) + 1) + "visible") != visibleColumns[i].getChecked()) || !MainWindow.columnNames[allColumnIDs.get(i)].equals(visibleColumns[i].getText())) return true; return false; } }); shell.setDefaultButton(okButton); okButton.setText(settings.msg("button.ok")); final Button cancelButton = new Button(composite_7, SWT.NONE); cancelButton.setText(settings.msg("button.cancel")); cancelButton.addSelectionListener(new SelectionAdapter() { public void widgetSelected(final SelectionEvent event) { shell.close(); } }); final GridData gridData = new GridData(); gridData.horizontalAlignment = SWT.FILL; gridData.widthHint = GeneralPurposeGUI.getWidth(okButton, cancelButton); okButton.setLayoutData(gridData); cancelButton.setLayoutData(gridData); }
From source file:org.debux.webmotion.server.mapping.Action.java
public String getClassName() { return StringUtils.substringBeforeLast(fullName, "."); }
From source file:org.debux.webmotion.server.render.RenderAction.java
@Override public void create(Mapping mapping, Call call) throws IOException, ServletException { String className = StringUtils.substringBeforeLast(action, "."); String methodName = StringUtils.substringAfterLast(action, "."); Config config = mapping.getConfig(); String packageName = config.getPackageActions(); String fullQualifiedName = null; if (packageName == null || packageName.isEmpty()) { fullQualifiedName = className;/* www . j av a 2 s . c o m*/ } else { fullQualifiedName = packageName + "." + className; } try { SingletonFactory<WebMotionController> factory = ExecutorInstanceCreatorHandler .getControllerFactory(mapping, call); WebMotionController instance = factory.getInstance(fullQualifiedName); // Invoke method Method method = ReflectionUtils.getMethod(instance.getClass(), methodName); if (method == null) { throw new WebMotionException( "Method not found with name " + methodName + " on class " + fullQualifiedName, call.getRule()); } Render actionRender = (Render) method.invoke(instance, model); // Request the render call.setRender(actionRender); actionRender.create(mapping, call); } catch (IllegalAccessException iae) { throw new WebMotionException("Error render action", iae, call.getRule()); } catch (IllegalArgumentException iae) { throw new WebMotionException("Error render action", iae, call.getRule()); } catch (InvocationTargetException ite) { throw new WebMotionException("Error render action", ite, call.getRule()); } }
From source file:org.debux.webmotion.server.WebMotionFilter.java
/** * Chain on filter. The filter is passed with the class name and the method * name separated by point. The doChain method replace the doProcess method * in this case./*from w w w . j a v a 2 s.c o m*/ * @param filter the filter to call */ public void doChain(String filter) { Mapping mapping = contextable.getMapping(); Call call = contextable.getCall(); Rule currentRule = call.getCurrentRule(); HttpContext context = call.getContext(); ServerContext serverContext = context.getServerContext(); Map<String, Class<? extends WebMotionController>> globalControllers = serverContext.getGlobalControllers(); String className = StringUtils.substringBeforeLast(filter, "."); String methodName = StringUtils.substringAfterLast(filter, "."); Config config = mapping.getConfig(); String packageName = config.getPackageActions(); String fullQualifiedName = null; if (packageName == null || packageName.isEmpty()) { fullQualifiedName = className; } else { fullQualifiedName = packageName + "." + className; } try { Class<? extends WebMotionController> clazz = globalControllers.get(className); if (clazz == null) { clazz = (Class<WebMotionController>) Class.forName(fullQualifiedName); } Method method = ReflectionUtils.getMethod(clazz, methodName); if (method == null) { throw new WebMotionException( "Method not found with name " + methodName + " on class " + fullQualifiedName, currentRule); } Executor executor = new Executor(); executor.setClazz(clazz); executor.setMethod(method); executor.setRule(currentRule); RunnableHandler handler = (RunnableHandler) contextable.getHandler(); handler.chainFilter(executor); } catch (ClassNotFoundException clnfe) { throw new WebMotionException("Class not found with name " + fullQualifiedName, clnfe, currentRule); } }
From source file:org.eclipse.epp.internal.logging.aeri.ui.model.Reports.java
public static void guessInvolvedPlugins(ErrorReport report) { CollectStackTraceElementPackagesVisitor v = new CollectStackTraceElementPackagesVisitor(); visit(report, v);/* w w w .j ava 2s . c o m*/ Set<String> uniqueBundleNames = Sets.newHashSet(); for (String packageName : v.packages) { while (packageName.contains(".")) { Bundle guessedBundleForPackageName = Platform.getBundle(packageName); packageName = StringUtils.substringBeforeLast(packageName, "."); if (guessedBundleForPackageName != null) { if (uniqueBundleNames.add(guessedBundleForPackageName.getSymbolicName())) { org.eclipse.epp.internal.logging.aeri.ui.model.Bundle bundle = factory.createBundle(); bundle.setName(guessedBundleForPackageName.getSymbolicName()); bundle.setVersion(guessedBundleForPackageName.getVersion().toString()); report.getPresentBundles().add(bundle); } continue; } } } }
From source file:org.eclipse.recommenders.utils.rcp.CompilerBindings.java
/** * TODO nested anonymous types are not resolved correctly. JDT uses line numbers for inner types instead of $1,..,$n */// w w w .ja v a2s. co m public static Optional<ITypeName> toTypeName(@Nullable TypeBinding binding) { // XXX generics fail if (binding == null) { return absent(); } // final boolean boundParameterizedType = binding.isBoundParameterizedType(); final boolean parameterizedType = binding.isParameterizedType(); // if (binding.isBoundParameterizedType()) { // return null; // } if (binding.isArrayType()) { final int dimensions = binding.dimensions(); final TypeBinding leafComponentType = binding.leafComponentType(); final String arrayDimensions = StringUtils.repeat("[", dimensions); final Optional<ITypeName> typeName = toTypeName(leafComponentType); if (!typeName.isPresent()) { return absent(); } final ITypeName res = VmTypeName.get(arrayDimensions + typeName.get().getIdentifier()); return fromNullable(res); } // TODO: handling of generics is bogus! if (binding instanceof TypeVariableBinding) { final TypeVariableBinding generic = (TypeVariableBinding) binding; if (generic.declaringElement instanceof TypeBinding) { // XXX: for this? binding = (TypeBinding) generic.declaringElement; } else if (generic.superclass != null) { // example Tuple<T1 extends List, T2 extends Number) --> for // generic.superclass (T2)=Number // we replace the generic by its superclass binding = generic.superclass; } } String signature = String.valueOf(binding.genericTypeSignature()); // if (binding instanceof BinaryTypeBinding) { // signature = StringUtils.substringBeforeLast(signature, ";"); // } if (signature.length() == 1) { // no handling needed. primitives always look the same. } else if (signature.endsWith(";")) { signature = StringUtils.substringBeforeLast(signature, ";"); } else { signature = "L" + SignatureUtil.stripSignatureToFQN(signature); } final ITypeName res = VmTypeName.get(signature); return fromNullable(res); }
From source file:org.eclipse.recommenders.utils.rcp.JdtUtils.java
private static String createMethodKey(final IMethod method) { try {/*www . j av a 2 s .c om*/ final String signature = method.getSignature(); final String signatureWithoutReturnType = StringUtils.substringBeforeLast(signature, ")"); final String methodName = method.getElementName(); return methodName + signatureWithoutReturnType; } catch (final Exception e) { throw throwUnhandledException(e); } }
From source file:org.exist.collections.triggers.XQueryStartupTrigger.java
/** * Execute xquery on path/*from www. ja v a 2s. c om*/ * * @param broker eXist database broker * @param path path to query, formatted as xmldb:exist:///db/... */ private void executeQuery(DBBroker broker, String path) { XQueryContext context = null; try { // Get path to xquery Source source = SourceFactory.getSource(broker, null, path, false); if (source == null) { LOG.info(String.format("No Xquery found at '%s'", path)); } else { // Setup xquery service XQuery service = broker.getXQueryService(); context = service.newContext(AccessContext.TRIGGER); // Allow use of modules with relative paths String moduleLoadPath = StringUtils.substringBeforeLast(path, "/"); context.setModuleLoadPath(moduleLoadPath); // Compile query CompiledXQuery compiledQuery = service.compile(context, source); LOG.info(String.format("Starting Xquery at '%s'", path)); // Finish preparation context.prepareForExecution(); // Execute Sequence result = service.execute(compiledQuery, null); // Log results LOG.info(String.format("Result xquery: '%s'", result.getStringValue())); } } catch (Throwable t) { // Dirty, catch it all LOG.error(String.format("An error occured during preparation/execution of the xquery script %s: %s", path, t.getMessage()), t); } finally { if (context != null) { context.runCleanupTasks(); } } }
From source file:org.grible.dao.JsonDao.java
@Override public void updateCategory(Category category) throws Exception { Product product = getProduct(category.getProductId()); File dir = new File(product.getPath() + File.separator + category.getType().getSection().getDirName() + File.separator + category.getPath()); String newFullPath = StringUtils.substringBeforeLast(category.getPath(), File.separator) + File.separator + category.getName();//from ww w . j a v a 2 s .co m dir.renameTo(new File(product.getPath() + File.separator + category.getType().getSection().getDirName() + File.separator + newFullPath)); }