List of usage examples for org.apache.commons.lang StringUtils substring
public static String substring(String str, int start, int end)
Gets a substring from the specified String avoiding exceptions.
From source file:org.nekorp.workflow.backend.memcache.ClienteDAOCache.java
void notifyUpdate(Cliente cliente) { if (cliente.getId() != null) { //log.info("borrando cliente del cache"); AsyncMemcacheService asyncCache = MemcacheServiceFactory.getAsyncMemcacheService(); asyncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.INFO)); ClienteCacheKey key = new ClienteCacheKey(); key.setId(cliente.getId());// w ww . j a va 2 s .c o m asyncCache.delete(key); // se quita del cache el resultado de la busqueda por nombre que comienze con esta letra //TODO hacer configurable el numero de letras minimo para comenzar la busqueda String filtroNombre = StringUtils.substring(cliente.getNombreEstandar(), 0, 1); FiltroClienteCacheKey keyTodos = new FiltroClienteCacheKey(); keyTodos.setFiltro(filtroNombre); asyncCache.delete(keyTodos); } }
From source file:org.nekorp.workflow.backend.memcache.ClienteDAOCache.java
public Object notifyQueryTodos(ProceedingJoinPoint pjp, FiltroCliente filtro, PaginationData<Long> pagination) throws Throwable { if (!StringUtils.isEmpty(filtro.getFiltroNombre())) { //esto es trampa, ya que si se permiten busquedas de diferentes longitudes no se van a poner //en el cache resultados de diferente longitud pagination.setMaxResults(0);//from w w w . ja va 2 s .c om String filtroOriginal = filtro.getFiltroNombre(); //se filtrara todo con una sola letra realmente. //TODO hacer configurable el numero de letras minimo para comenzar la busqueda String nuevoFiltro = StringUtils.substring(filtroOriginal, 0, 1); MemcacheService syncCache = MemcacheServiceFactory.getMemcacheService(); syncCache.setErrorHandler(ErrorHandlers.getConsistentLogAndContinue(Level.INFO)); FiltroClienteCacheKey key = new FiltroClienteCacheKey(); key.setFiltro(nuevoFiltro); //log.info("sacando lista de clientes del cache"); @SuppressWarnings("unchecked") List<Cliente> value = (List<Cliente>) syncCache.get(key); if (value == null) { value = new LinkedList<Cliente>(); //log.info("la lista de clientes no estaba en el cache dejando hacer la busqueda al dao"); filtro.setFiltroNombre(nuevoFiltro); @SuppressWarnings("unchecked") List<Cliente> data = (List<Cliente>) pjp.proceed(); for (Cliente x : data) { value.add(x); } syncCache.put(key, value); filtro.setFiltroNombre(filtroOriginal); } List<Cliente> respuesta = value; //En caso de que el cliente quiera filtrar por mas de una letra //TODO hacer configurable el numero de letras minimo para comenzar la busqueda if (filtroOriginal.length() > 1) { respuesta = new LinkedList<Cliente>(); for (Cliente x : value) { if (StringUtils.startsWith(x.getNombreEstandar(), filtroOriginal)) { respuesta.add(x); } } } return respuesta; } else { return pjp.proceed(); } }
From source file:org.nekorp.workflow.desktop.view.binding.MonedaBindableJTextField.java
@Override public Object getModelValue() { try {//from w w w .j a v a 2s .c om return MonedaVB.valueOf(this.getText()); } catch (IllegalArgumentException e) { String value = this.getText(); int indexPoint = StringUtils.indexOf(value, "."); if (indexPoint == -1) { throw e; } else { if (indexPoint + 1 == value.length()) { value = StringUtils.remove(value, '.'); } else { value = StringUtils.substring(value, 0, indexPoint + 3); } } return MonedaVB.valueOf(value); } }
From source file:org.nekorp.workflow.desktop.view.model.inventario.damage.DamageDetailsVB.java
@Override public String toString() { if (caracteristica.compareTo("Dao estructural") == 0) { return "Estructural:" + StringUtils.substring(categoria, 0, 3); }// w w w . j a v a2s . c o m return caracteristica + ":" + StringUtils.substring(categoria, 0, 3); }
From source file:org.nekorp.workflow.desktop.view.resource.imp.DocumentSizeValidator.java
@Override public void insertString(FilterBypass fb, int offs, String str, AttributeSet a) throws BadLocationException { int sizeActual = fb.getDocument().getLength(); int espacio = maxSize - sizeActual; String dato = str;//from ww w. ja v a 2s. c om if (espacio <= 0) { return; } if (dato.length() > espacio) { dato = StringUtils.substring(str, 0, espacio); } super.insertString(fb, offs, dato, a); }
From source file:org.nekorp.workflow.desktop.view.resource.imp.DocumentSizeValidator.java
@Override public void replace(FilterBypass fb, int offs, int length, String str, AttributeSet a) throws BadLocationException { int sizeActual = fb.getDocument().getLength() - length;//ya sin el espacio que se remplaza int espacio = maxSize - sizeActual; String dato = str;//from w w w.ja va 2 s . c o m if (espacio <= 0) { return; } if (dato.length() > espacio) { dato = StringUtils.substring(str, 0, espacio); } super.replace(fb, offs, length, dato, a); }
From source file:org.objectstyle.cayenne.map.ObjAttribute.java
/** * Returns the dbAttributeName./* w w w .j a v a 2 s. co m*/ * @return String */ public String getDbAttributeName() { if (dbAttributePath == null) return null; int lastPartStart = dbAttributePath.lastIndexOf('.'); String lastPart = StringUtils.substring(dbAttributePath, lastPartStart + 1, dbAttributePath.length()); return lastPart; }
From source file:org.objectstyle.wolips.ruleeditor.model.RightHandSide.java
private Object parseValueString(String value) { value = StringUtils.remove(value, "\""); // When its an Array if (value.startsWith("(")) { value = StringUtils.substring(value, 1, value.length() - 1); String[] arrayComponents = Pattern.compile(",").split(value); ArrayList<Object> array = new ArrayList<Object>(); for (String expression : arrayComponents) { expression = expression.trim(); if ("".equals(expression)) { continue; }/*w w w .j av a 2 s . co m*/ array.add(parseValueString(expression)); } return array; } // When its a Dictionary else if (value.startsWith("{")) { Map<String, Object> dictionary = new HashMap<String, Object>(); value = StringUtils.substring(value, 1, value.lastIndexOf(";")); String[] dictionaryComponents = Pattern.compile(";").split(value); for (String expression : dictionaryComponents) { String key = expression.substring(0, expression.indexOf("=")).trim(); Object dictionaryValue = parseValueString( expression.substring(expression.indexOf("=") + 1, expression.length()).trim()); dictionary.put(key, dictionaryValue); } return dictionary; } // So its a String return value; }
From source file:org.onehippo.forge.content.exim.core.util.ContentPathUtils.java
/** * Splits the given {@code contentLocation} to an array which consists of a folder path and the node name. * @param contentLocation content node path * @return an array which consists of a folder path and the node name *///from w ww. jav a 2s . c o m public static String[] splitToFolderPathAndName(final String contentLocation) { String[] folderPathAndName = new String[] { "", "" }; int offset = StringUtils.lastIndexOf(contentLocation, '/'); folderPathAndName[0] = StringUtils.substring(contentLocation, 0, offset); folderPathAndName[1] = StringUtils.substring(contentLocation, offset + 1); return folderPathAndName; }
From source file:org.onosproject.influxdbmetrics.DefaultInfluxDbMetricsRetriever.java
/** * Returns node id from full name.//from w w w. ja v a2 s. c om * The elements in full name is split by using '.'; * We assume that the node id always comes before the last three '.' * * @param fullName full name * @return node id */ private String getNodeId(String fullName) { int index = StringUtils.lastOrdinalIndexOf(fullName, METRIC_DELIMITER, NUB_OF_DELIMITER); if (index != -1) { return StringUtils.substring(fullName, 0, index); } else { log.warn("Database {} contains malformed node id.", database); return null; } }