List of usage examples for org.apache.commons.lang ArrayUtils add
public static short[] add(short[] array, short element)
Copies the given array and adds the given element at the end of the new array.
From source file:org.craftercms.search.service.impl.QueryParams.java
public QueryParams addParam(String name, String value) { String[] oldValues = params.get(name); String[] values;//from ww w.ja v a 2 s .c o m if (ArrayUtils.isNotEmpty(oldValues)) { values = (String[]) ArrayUtils.add(oldValues, value); } else { values = new String[1]; values[0] = value; } params.put(name, values); return this; }
From source file:org.debux.webmotion.server.handler.ParametersExtractorHandler.java
@Override public void handle(Mapping mapping, Call call) { // Not action found in extension ? ActionRule actionRule = (ActionRule) call.getRule(); if (actionRule == null) { return;/*from w w w . j av a 2 s . c om*/ } // Contains all parameters Map<String, Object> rawParameters = call.getRawParameters(); // Add default parameters List<FilterRule> filterRules = call.getFilterRules(); for (FilterRule filterRule : filterRules) { Map<String, String[]> defaultParameters = filterRule.getDefaultParameters(); rawParameters.putAll(defaultParameters); } Map<String, String[]> defaultParameters = actionRule.getDefaultParameters(); rawParameters.putAll(defaultParameters); // Add extract parameters Map<String, Object> extractParameters = call.getExtractParameters(); rawParameters.putAll(extractParameters); // Retrieve the good name for parameters give in mapping HttpContext context = call.getContext(); String url = context.getUrl(); List<String> path = HttpUtils.splitPath(url); List<FragmentUrl> ruleUrl = actionRule.getRuleUrl(); int position = 0; for (FragmentUrl expression : ruleUrl) { String name = expression.getName(); if (!StringUtils.isEmpty(name)) { String value = path.get(position); String[] currentValues = (String[]) rawParameters.get(name); if (currentValues == null) { rawParameters.put(name, new String[] { value }); } else { rawParameters.put(name, ArrayUtils.add(currentValues, value)); } } position++; } List<FragmentUrl> ruleParameters = actionRule.getRuleParameters(); for (FragmentUrl expression : ruleParameters) { String name = expression.getName(); String param = expression.getParam(); if (!StringUtils.isEmpty(name)) { String[] values = (String[]) extractParameters.get(param); if (values != null) { String[] currentValues = (String[]) rawParameters.get(name); if (currentValues == null) { rawParameters.put(name, values); } else { rawParameters.put(name, ArrayUtils.addAll(currentValues, values)); } rawParameters.put(name + "." + param, values); } } } // Transform ParameterTree parameterTree = toTree(rawParameters); call.setParameterTree(parameterTree); }
From source file:org.dspace.statistics.SolrLogger.java
public static void reindexBitstreamHits(boolean removeDeletedBitstreams) throws Exception { Context context = new Context(); try {//from w w w . ja va2 s . c o m //First of all retrieve the total number of records to be updated SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.addFilterQuery("type:" + Constants.BITSTREAM); //Only retrieve records which do not have a bundle name query.addFilterQuery("-bundleName:[* TO *]"); query.setRows(0); addAdditionalSolrYearCores(query); long totalRecords = solr.query(query).getResults().getNumFound(); File tempDirectory = new File( ConfigurationManager.getProperty("dspace.dir") + File.separator + "temp" + File.separator); tempDirectory.mkdirs(); List<File> tempCsvFiles = new ArrayList<File>(); for (int i = 0; i < totalRecords; i += 10000) { Map<String, String> params = new HashMap<String, String>(); params.put(CommonParams.Q, "*:*"); params.put(CommonParams.FQ, "-bundleName:[* TO *] AND type:" + Constants.BITSTREAM); params.put(CommonParams.WT, "csv"); params.put(CommonParams.ROWS, String.valueOf(10000)); params.put(CommonParams.START, String.valueOf(i)); String solrRequestUrl = solr.getBaseURL() + "/select"; solrRequestUrl = generateURL(solrRequestUrl, params); GetMethod get = new GetMethod(solrRequestUrl); new HttpClient().executeMethod(get); InputStream csvOutput = get.getResponseBodyAsStream(); Reader csvReader = new InputStreamReader(csvOutput); List<String[]> rows = new CSVReader(csvReader).readAll(); String[][] csvParsed = rows.toArray(new String[rows.size()][]); String[] header = csvParsed[0]; //Attempt to find the bitstream id index ! int idIndex = 0; for (int j = 0; j < header.length; j++) { if (header[j].equals("id")) { idIndex = j; } } File tempCsv = new File(tempDirectory.getPath() + File.separatorChar + "temp." + i + ".csv"); tempCsvFiles.add(tempCsv); CSVWriter csvp = new CSVWriter(new FileWriter(tempCsv)); //csvp.setAlwaysQuote(false); //Write the header ! csvp.writeNext((String[]) ArrayUtils.add(header, "bundleName")); Map<Integer, String> bitBundleCache = new HashMap<Integer, String>(); //Loop over each line (skip the headers though)! for (int j = 1; j < csvParsed.length; j++) { String[] csvLine = csvParsed[j]; //Write the default line ! int bitstreamId = Integer.parseInt(csvLine[idIndex]); //Attempt to retrieve our bundle name from the cache ! String bundleName = bitBundleCache.get(bitstreamId); if (bundleName == null) { //Nothing found retrieve the bitstream Bitstream bitstream = Bitstream.find(context, bitstreamId); //Attempt to retrieve our bitstream ! if (bitstream != null) { Bundle[] bundles = bitstream.getBundles(); if (bundles != null && 0 < bundles.length) { Bundle bundle = bundles[0]; bundleName = bundle.getName(); context.removeCached(bundle, bundle.getID()); } else { //No bundle found, we are either a collection or a community logo, check for it ! DSpaceObject parentObject = bitstream.getParentObject(); if (parentObject instanceof Collection) { bundleName = "LOGO-COLLECTION"; } else if (parentObject instanceof Community) { bundleName = "LOGO-COMMUNITY"; } if (parentObject != null) { context.removeCached(parentObject, parentObject.getID()); } } //Cache the bundle name bitBundleCache.put(bitstream.getID(), bundleName); //Remove the bitstream from cache context.removeCached(bitstream, bitstreamId); } //Check if we don't have a bundlename //If we don't have one & we do not need to delete the deleted bitstreams ensure that a BITSTREAM_DELETED bundle name is given ! if (bundleName == null && !removeDeletedBitstreams) { bundleName = "BITSTREAM_DELETED"; } } csvp.writeNext((String[]) ArrayUtils.add(csvLine, bundleName)); } //Loop over our parsed csv csvp.flush(); csvp.close(); } //Add all the separate csv files for (File tempCsv : tempCsvFiles) { ContentStreamUpdateRequest contentStreamUpdateRequest = new ContentStreamUpdateRequest( "/update/csv"); contentStreamUpdateRequest.setParam("stream.contentType", "text/plain;charset=utf-8"); contentStreamUpdateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); contentStreamUpdateRequest.addFile(tempCsv); solr.request(contentStreamUpdateRequest); } //Now that all our new bitstream stats are in place, delete all the old ones ! solr.deleteByQuery("-bundleName:[* TO *] AND type:" + Constants.BITSTREAM); //Commit everything to wrap up solr.commit(true, true); //Clean up our directory ! FileUtils.deleteDirectory(tempDirectory); } catch (Exception e) { log.error("Error while updating the bitstream statistics", e); throw e; } finally { context.abort(); } }
From source file:org.dspace.statistics.SolrLoggerServiceImpl.java
@Override public void reindexBitstreamHits(boolean removeDeletedBitstreams) throws Exception { if (!(solr instanceof HttpSolrServer)) { return;/*from w w w .java 2 s .c o m*/ } Context context = new Context(); try { //First of all retrieve the total number of records to be updated SolrQuery query = new SolrQuery(); query.setQuery("*:*"); query.addFilterQuery("type:" + Constants.BITSTREAM); //Only retrieve records which do not have a bundle name query.addFilterQuery("-bundleName:[* TO *]"); query.setRows(0); addAdditionalSolrYearCores(query); long totalRecords = solr.query(query).getResults().getNumFound(); File tempDirectory = new File( configurationService.getProperty("dspace.dir") + File.separator + "temp" + File.separator); tempDirectory.mkdirs(); List<File> tempCsvFiles = new ArrayList<File>(); for (int i = 0; i < totalRecords; i += 10000) { Map<String, String> params = new HashMap<String, String>(); params.put(CommonParams.Q, "*:*"); params.put(CommonParams.FQ, "-bundleName:[* TO *] AND type:" + Constants.BITSTREAM); params.put(CommonParams.WT, "csv"); params.put(CommonParams.ROWS, String.valueOf(10000)); params.put(CommonParams.START, String.valueOf(i)); String solrRequestUrl = ((HttpSolrServer) solr).getBaseURL() + "/select"; solrRequestUrl = generateURL(solrRequestUrl, params); HttpGet get = new HttpGet(solrRequestUrl); HttpResponse response = new DefaultHttpClient().execute(get); InputStream csvOutput = response.getEntity().getContent(); Reader csvReader = new InputStreamReader(csvOutput); List<String[]> rows = new CSVReader(csvReader).readAll(); String[][] csvParsed = rows.toArray(new String[rows.size()][]); String[] header = csvParsed[0]; //Attempt to find the bitstream id index ! int idIndex = 0; for (int j = 0; j < header.length; j++) { if (header[j].equals("id")) { idIndex = j; } } File tempCsv = new File(tempDirectory.getPath() + File.separatorChar + "temp." + i + ".csv"); tempCsvFiles.add(tempCsv); CSVWriter csvp = new CSVWriter(new FileWriter(tempCsv)); //csvp.setAlwaysQuote(false); //Write the header ! csvp.writeNext((String[]) ArrayUtils.add(header, "bundleName")); Map<String, String> bitBundleCache = new HashMap<>(); //Loop over each line (skip the headers though)! for (int j = 1; j < csvParsed.length; j++) { String[] csvLine = csvParsed[j]; //Write the default line ! String bitstreamId = csvLine[idIndex]; //Attempt to retrieve our bundle name from the cache ! String bundleName = bitBundleCache.get(bitstreamId); if (bundleName == null) { //Nothing found retrieve the bitstream Bitstream bitstream = bitstreamService.findByIdOrLegacyId(context, bitstreamId); //Attempt to retrieve our bitstream ! if (bitstream != null) { List<Bundle> bundles = bitstream.getBundles(); if (bundles != null && 0 < bundles.size()) { Bundle bundle = bundles.get(0); bundleName = bundle.getName(); } else { //No bundle found, we are either a collection or a community logo, check for it ! DSpaceObject parentObject = bitstreamService.getParentObject(context, bitstream); if (parentObject instanceof Collection) { bundleName = "LOGO-COLLECTION"; } else if (parentObject instanceof Community) { bundleName = "LOGO-COMMUNITY"; } } //Cache the bundle name bitBundleCache.put(bitstream.getID().toString(), bundleName); //Remove the bitstream from cache } //Check if we don't have a bundlename //If we don't have one & we do not need to delete the deleted bitstreams ensure that a BITSTREAM_DELETED bundle name is given ! if (bundleName == null && !removeDeletedBitstreams) { bundleName = "BITSTREAM_DELETED"; } } csvp.writeNext((String[]) ArrayUtils.add(csvLine, bundleName)); } //Loop over our parsed csv csvp.flush(); csvp.close(); } //Add all the separate csv files for (File tempCsv : tempCsvFiles) { ContentStreamUpdateRequest contentStreamUpdateRequest = new ContentStreamUpdateRequest( "/update/csv"); contentStreamUpdateRequest.setParam("stream.contentType", "text/plain;charset=utf-8"); contentStreamUpdateRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); contentStreamUpdateRequest.addFile(tempCsv, "text/plain;charset=utf-8"); solr.request(contentStreamUpdateRequest); } //Now that all our new bitstream stats are in place, delete all the old ones ! solr.deleteByQuery("-bundleName:[* TO *] AND type:" + Constants.BITSTREAM); //Commit everything to wrap up solr.commit(true, true); //Clean up our directory ! FileUtils.deleteDirectory(tempDirectory); } catch (Exception e) { log.error("Error while updating the bitstream statistics", e); throw e; } finally { context.abort(); } }
From source file:org.ebayopensource.turmeric.eclipse.ui.components.SOAComboDialogCellEditor.java
/** * Sets the list of choices for the combo box. * * @param items the list of choices for the combo box *//*from w ww . j a v a2 s. c om*/ public void setItems(String[] items) { Assert.isNotNull(items); this.items = (String[]) ArrayUtils.add(items, DIALOG_BUTTON_LABEL); fillcomboBox(); }
From source file:org.eclipse.jubula.rc.javafx.driver.RobotJavaFXImpl.java
/** * @param clickModifier/*from w w w .ja v a 2 s. com*/ * the click modifier to use for this click * @return an array of modifiers to press before click and release after * click */ private int[] getModifierMask(ClickModifier clickModifier) { int[] modifier = new int[0]; if (clickModifier.hasModifiers(ClickModifier.M1)) { modifier = ArrayUtils.add(modifier, KeyCode.CONTROL.impl_getCode()); } if (clickModifier.hasModifiers(ClickModifier.M2)) { modifier = ArrayUtils.add(modifier, KeyCode.SHIFT.impl_getCode()); } if (clickModifier.hasModifiers(ClickModifier.M3)) { modifier = ArrayUtils.add(modifier, KeyCode.ALT.impl_getCode()); } if (clickModifier.hasModifiers(ClickModifier.M4)) { modifier = ArrayUtils.add(modifier, KeyCode.META.impl_getCode()); } return modifier; }
From source file:org.eclipse.jubula.rc.swing.driver.RobotAwtImpl.java
/** * @param clickModifier the click modifier to use for this click * @return an array of modifiers to press before click and release after click *///from w w w . j av a 2 s .c o m private int[] getModifierMask(ClickModifier clickModifier) { int[] modifier = new int[0]; if (clickModifier.hasModifiers(ClickModifier.M1)) { modifier = ArrayUtils.add(modifier, SwingUtils.getSystemDefaultModifier()); } if (clickModifier.hasModifiers(ClickModifier.M2)) { modifier = ArrayUtils.add(modifier, SwingUtils.getSystemModifier2()); } if (clickModifier.hasModifiers(ClickModifier.M3)) { modifier = ArrayUtils.add(modifier, SwingUtils.getSystemModifier3()); } if (clickModifier.hasModifiers(ClickModifier.M4)) { modifier = ArrayUtils.add(modifier, SwingUtils.getSystemModifier4()); } return modifier; }
From source file:org.eclipse.jubula.rc.swt.driver.RobotSwtImpl.java
/** * @param clickModifier// ww w .ja v a 2s . c o m * the click modifier to use for this click * @return an array of modifiers to press before click and release after * click */ private int[] getModifierMask(ClickModifier clickModifier) { int[] modifier = new int[0]; if (clickModifier.hasModifiers(ClickModifier.M1)) { modifier = ArrayUtils.add(modifier, SwtUtils.getSystemDefaultModifier()); } if (clickModifier.hasModifiers(ClickModifier.M2)) { modifier = ArrayUtils.add(modifier, SwtUtils.getSystemModifier2()); } if (clickModifier.hasModifiers(ClickModifier.M3)) { modifier = ArrayUtils.add(modifier, SwtUtils.getSystemModifier3()); } if (clickModifier.hasModifiers(ClickModifier.M4)) { modifier = ArrayUtils.add(modifier, SwtUtils.getSystemModifier4()); } return modifier; }
From source file:org.eclipse.mylyn.reviews.connector.EmfTaskSchema.java
protected Field createField(EStructuralFeature feature, Flag... flags) { String key = getKey(feature); String label = getLabel(feature); String type = getTaskType(feature); flags = (Flag[]) ArrayUtils.add(flags, Flag.ATTRIBUTE); Field field = createField(key, label, type, key, flags); addEmfField(feature, field);//from www . j a v a2 s. c om return field; }
From source file:org.eclipse.skalli.services.search.SearchQuery.java
public String[] addExtension(String shortName) { extensions = (String[]) ArrayUtils.add(extensions, shortName); return extensions; }