List of usage examples for java.util Collection equals
boolean equals(Object o);
From source file:com.jayway.jsonpath.Criteria.java
boolean singleObjectApply(Map<String, Object> map) { for (CriteriaType key : this.criteria.keySet()) { Object actualVal = map.get(this.key); Object expectedVal = this.criteria.get(key); if (CriteriaType.GT.equals(key)) { if (expectedVal == null || actualVal == null) { return false; }//from w w w .j av a 2 s . co m Number expectedNumber = (Number) expectedVal; Number actualNumber = (Number) actualVal; return (actualNumber.doubleValue() > expectedNumber.doubleValue()); } else if (CriteriaType.GTE.equals(key)) { if (expectedVal == null || actualVal == null) { return false; } Number expectedNumber = (Number) expectedVal; Number actualNumber = (Number) actualVal; return (actualNumber.doubleValue() >= expectedNumber.doubleValue()); } else if (CriteriaType.LT.equals(key)) { if (expectedVal == null || actualVal == null) { return false; } Number expectedNumber = (Number) expectedVal; Number actualNumber = (Number) actualVal; return (actualNumber.doubleValue() < expectedNumber.doubleValue()); } else if (CriteriaType.LTE.equals(key)) { if (expectedVal == null || actualVal == null) { return false; } Number expectedNumber = (Number) expectedVal; Number actualNumber = (Number) actualVal; return (actualNumber.doubleValue() <= expectedNumber.doubleValue()); } else if (CriteriaType.NE.equals(key)) { if (expectedVal == null && actualVal == null) { return false; } if (expectedVal == null) { return true; } else { return !expectedVal.equals(actualVal); } } else if (CriteriaType.IN.equals(key)) { Collection exp = (Collection) expectedVal; return exp.contains(actualVal); } else if (CriteriaType.NIN.equals(key)) { Collection exp = (Collection) expectedVal; return !exp.contains(actualVal); } else if (CriteriaType.ALL.equals(key)) { Collection exp = (Collection) expectedVal; Collection act = (Collection) actualVal; return act.containsAll(exp); } else if (CriteriaType.SIZE.equals(key)) { int exp = (Integer) expectedVal; List act = (List) actualVal; return (act.size() == exp); } else if (CriteriaType.EXISTS.equals(key)) { boolean exp = (Boolean) expectedVal; boolean act = map.containsKey(this.key); return act == exp; } else if (CriteriaType.TYPE.equals(key)) { Class<?> exp = (Class<?>) expectedVal; Class<?> act = null; if (map.containsKey(this.key)) { Object actVal = map.get(this.key); if (actVal != null) { act = actVal.getClass(); } } if (act == null) { return false; } else { return act.equals(exp); } } else if (CriteriaType.REGEX.equals(key)) { Pattern exp = (Pattern) expectedVal; String act = (String) actualVal; if (act == null) { return false; } return exp.matcher(act).matches(); } else { throw new UnsupportedOperationException("Criteria type not supported: " + key.name()); } } if (isValue != NOT_SET) { if (isValue instanceof Collection) { Collection<Criteria> cs = (Collection<Criteria>) isValue; for (Criteria crit : cs) { for (Criteria c : crit.criteriaChain) { if (!c.singleObjectApply(map)) { return false; } } } return true; } else { if (isValue == null) { return (map.get(key) == null); } else { return isValue.equals(map.get(key)); } } } else { } return true; }
From source file:org.apache.solr.client.solrj.impl.CloudSolrServerTest.java
private void allTests() throws Exception { String collectionName = "clientTestExternColl"; createCollection(collectionName, controlClientCloud, 2, 2); waitForRecoveriesToFinish(collectionName, false); CloudSolrServer cloudClient = createCloudClient(collectionName); assertNotNull(cloudClient);/*from w ww . j av a 2 s.com*/ handle.clear(); handle.put("timestamp", SKIPVAL); waitForThingsToLevelOut(30); controlClient.deleteByQuery("*:*"); cloudClient.deleteByQuery("*:*"); controlClient.commit(); this.cloudClient.commit(); SolrInputDocument doc1 = new SolrInputDocument(); doc1.addField(id, "0"); doc1.addField("a_t", "hello1"); SolrInputDocument doc2 = new SolrInputDocument(); doc2.addField(id, "2"); doc2.addField("a_t", "hello2"); UpdateRequest request = new UpdateRequest(); request.add(doc1); request.add(doc2); request.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false); // Test single threaded routed updates for UpdateRequest NamedList<Object> response = cloudClient.request(request); CloudSolrServer.RouteResponse rr = (CloudSolrServer.RouteResponse) response; Map<String, LBHttpSolrServer.Req> routes = rr.getRoutes(); Iterator<Map.Entry<String, LBHttpSolrServer.Req>> it = routes.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, LBHttpSolrServer.Req> entry = it.next(); String url = entry.getKey(); UpdateRequest updateRequest = (UpdateRequest) entry.getValue().getRequest(); SolrInputDocument doc = updateRequest.getDocuments().get(0); String id = doc.getField("id").getValue().toString(); ModifiableSolrParams params = new ModifiableSolrParams(); params.add("q", "id:" + id); params.add("distrib", "false"); QueryRequest queryRequest = new QueryRequest(params); HttpSolrServer solrServer = new HttpSolrServer(url); QueryResponse queryResponse = queryRequest.process(solrServer); SolrDocumentList docList = queryResponse.getResults(); assertTrue(docList.getNumFound() == 1); } // Test the deleteById routing for UpdateRequest UpdateRequest delRequest = new UpdateRequest(); delRequest.deleteById("0"); delRequest.deleteById("2"); delRequest.setAction(AbstractUpdateRequest.ACTION.COMMIT, false, false); cloudClient.request(delRequest); ModifiableSolrParams qParams = new ModifiableSolrParams(); qParams.add("q", "*:*"); QueryRequest qRequest = new QueryRequest(qParams); QueryResponse qResponse = qRequest.process(cloudClient); SolrDocumentList docs = qResponse.getResults(); assertTrue(docs.getNumFound() == 0); // Test Multi-Threaded routed updates for UpdateRequest CloudSolrServer threadedClient = null; try { threadedClient = new CloudSolrServer(zkServer.getZkAddress()); threadedClient.setParallelUpdates(true); threadedClient.setDefaultCollection(collectionName); response = threadedClient.request(request); rr = (CloudSolrServer.RouteResponse) response; routes = rr.getRoutes(); it = routes.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, LBHttpSolrServer.Req> entry = it.next(); String url = entry.getKey(); UpdateRequest updateRequest = (UpdateRequest) entry.getValue().getRequest(); SolrInputDocument doc = updateRequest.getDocuments().get(0); String id = doc.getField("id").getValue().toString(); ModifiableSolrParams params = new ModifiableSolrParams(); params.add("q", "id:" + id); params.add("distrib", "false"); QueryRequest queryRequest = new QueryRequest(params); HttpSolrServer solrServer = new HttpSolrServer(url); QueryResponse queryResponse = queryRequest.process(solrServer); SolrDocumentList docList = queryResponse.getResults(); assertTrue(docList.getNumFound() == 1); } } finally { threadedClient.shutdown(); } // Test that queries with _route_ params are routed by the client // Track request counts on each node before query calls ClusterState clusterState = cloudClient.getZkStateReader().getClusterState(); DocCollection col = clusterState.getCollection(collectionName); Map<String, Long> requestCountsMap = Maps.newHashMap(); for (Slice slice : col.getSlices()) { for (Replica replica : slice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); requestCountsMap.put(baseURL, getNumRequests(baseURL, collectionName)); } } // Collect the base URLs of the replicas of shard that's expected to be hit DocRouter router = col.getRouter(); Collection<Slice> expectedSlices = router.getSearchSlicesSingle("0", null, col); Set<String> expectedBaseURLs = Sets.newHashSet(); for (Slice expectedSlice : expectedSlices) { for (Replica replica : expectedSlice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); expectedBaseURLs.add(baseURL); } } assertTrue("expected urls is not fewer than all urls! expected=" + expectedBaseURLs + "; all=" + requestCountsMap.keySet(), expectedBaseURLs.size() < requestCountsMap.size()); // Calculate a number of shard keys that route to the same shard. int n; if (TEST_NIGHTLY) { n = random().nextInt(999) + 2; } else { n = random().nextInt(9) + 2; } List<String> sameShardRoutes = Lists.newArrayList(); sameShardRoutes.add("0"); for (int i = 1; i < n; i++) { String shardKey = Integer.toString(i); Collection<Slice> slices = router.getSearchSlicesSingle(shardKey, null, col); log.info("Expected Slices {}", slices); if (expectedSlices.equals(slices)) { sameShardRoutes.add(shardKey); } } assertTrue(sameShardRoutes.size() > 1); // Do N queries with _route_ parameter to the same shard for (int i = 0; i < n; i++) { ModifiableSolrParams solrParams = new ModifiableSolrParams(); solrParams.set(CommonParams.Q, "*:*"); solrParams.set(ShardParams._ROUTE_, sameShardRoutes.get(random().nextInt(sameShardRoutes.size()))); log.info("output : {}", cloudClient.query(solrParams)); } // Request counts increase from expected nodes should aggregate to 1000, while there should be // no increase in unexpected nodes. int increaseFromExpectedUrls = 0; int increaseFromUnexpectedUrls = 0; Map<String, Long> numRequestsToUnexpectedUrls = Maps.newHashMap(); for (Slice slice : col.getSlices()) { for (Replica replica : slice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); Long prevNumRequests = requestCountsMap.get(baseURL); Long curNumRequests = getNumRequests(baseURL, collectionName); long delta = curNumRequests - prevNumRequests; if (expectedBaseURLs.contains(baseURL)) { increaseFromExpectedUrls += delta; } else { increaseFromUnexpectedUrls += delta; numRequestsToUnexpectedUrls.put(baseURL, delta); } } } assertEquals("Unexpected number of requests to expected URLs", n, increaseFromExpectedUrls); assertEquals("Unexpected number of requests to unexpected URLs: " + numRequestsToUnexpectedUrls, 0, increaseFromUnexpectedUrls); controlClient.deleteByQuery("*:*"); cloudClient.deleteByQuery("*:*"); controlClient.commit(); cloudClient.commit(); cloudClient.shutdown(); }
From source file:org.apache.solr.client.solrj.impl.CloudSolrClientTest.java
@Test public void testRouting() throws Exception { AbstractUpdateRequest request = new UpdateRequest().add(id, "0", "a_t", "hello1") .add(id, "2", "a_t", "hello2").setAction(AbstractUpdateRequest.ACTION.COMMIT, true, true); // Test single threaded routed updates for UpdateRequest NamedList<Object> response = cluster.getSolrClient().request(request, COLLECTION); if (cluster.getSolrClient().isDirectUpdatesToLeadersOnly()) { checkSingleServer(response);//from w ww. j a va2 s . c om } CloudSolrClient.RouteResponse rr = (CloudSolrClient.RouteResponse) response; Map<String, LBHttpSolrClient.Req> routes = rr.getRoutes(); Iterator<Map.Entry<String, LBHttpSolrClient.Req>> it = routes.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, LBHttpSolrClient.Req> entry = it.next(); String url = entry.getKey(); UpdateRequest updateRequest = (UpdateRequest) entry.getValue().getRequest(); SolrInputDocument doc = updateRequest.getDocuments().get(0); String id = doc.getField("id").getValue().toString(); ModifiableSolrParams params = new ModifiableSolrParams(); params.add("q", "id:" + id); params.add("distrib", "false"); QueryRequest queryRequest = new QueryRequest(params); try (HttpSolrClient solrClient = getHttpSolrClient(url)) { QueryResponse queryResponse = queryRequest.process(solrClient); SolrDocumentList docList = queryResponse.getResults(); assertTrue(docList.getNumFound() == 1); } } // Test the deleteById routing for UpdateRequest final UpdateResponse uResponse = new UpdateRequest().deleteById("0").deleteById("2") .commit(cluster.getSolrClient(), COLLECTION); if (cluster.getSolrClient().isDirectUpdatesToLeadersOnly()) { checkSingleServer(uResponse.getResponse()); } QueryResponse qResponse = cluster.getSolrClient().query(COLLECTION, new SolrQuery("*:*")); SolrDocumentList docs = qResponse.getResults(); assertEquals(0, docs.getNumFound()); // Test Multi-Threaded routed updates for UpdateRequest try (CloudSolrClient threadedClient = getCloudSolrClient(cluster.getZkServer().getZkAddress())) { threadedClient.setParallelUpdates(true); threadedClient.setDefaultCollection(COLLECTION); response = threadedClient.request(request); if (threadedClient.isDirectUpdatesToLeadersOnly()) { checkSingleServer(response); } rr = (CloudSolrClient.RouteResponse) response; routes = rr.getRoutes(); it = routes.entrySet().iterator(); while (it.hasNext()) { Map.Entry<String, LBHttpSolrClient.Req> entry = it.next(); String url = entry.getKey(); UpdateRequest updateRequest = (UpdateRequest) entry.getValue().getRequest(); SolrInputDocument doc = updateRequest.getDocuments().get(0); String id = doc.getField("id").getValue().toString(); ModifiableSolrParams params = new ModifiableSolrParams(); params.add("q", "id:" + id); params.add("distrib", "false"); QueryRequest queryRequest = new QueryRequest(params); try (HttpSolrClient solrClient = getHttpSolrClient(url)) { QueryResponse queryResponse = queryRequest.process(solrClient); SolrDocumentList docList = queryResponse.getResults(); assertTrue(docList.getNumFound() == 1); } } } // Test that queries with _route_ params are routed by the client // Track request counts on each node before query calls ClusterState clusterState = cluster.getSolrClient().getZkStateReader().getClusterState(); DocCollection col = clusterState.getCollection(COLLECTION); Map<String, Long> requestCountsMap = Maps.newHashMap(); for (Slice slice : col.getSlices()) { for (Replica replica : slice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); requestCountsMap.put(baseURL, getNumRequests(baseURL, COLLECTION)); } } // Collect the base URLs of the replicas of shard that's expected to be hit DocRouter router = col.getRouter(); Collection<Slice> expectedSlices = router.getSearchSlicesSingle("0", null, col); Set<String> expectedBaseURLs = Sets.newHashSet(); for (Slice expectedSlice : expectedSlices) { for (Replica replica : expectedSlice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); expectedBaseURLs.add(baseURL); } } assertTrue("expected urls is not fewer than all urls! expected=" + expectedBaseURLs + "; all=" + requestCountsMap.keySet(), expectedBaseURLs.size() < requestCountsMap.size()); // Calculate a number of shard keys that route to the same shard. int n; if (TEST_NIGHTLY) { n = random().nextInt(999) + 2; } else { n = random().nextInt(9) + 2; } List<String> sameShardRoutes = Lists.newArrayList(); sameShardRoutes.add("0"); for (int i = 1; i < n; i++) { String shardKey = Integer.toString(i); Collection<Slice> slices = router.getSearchSlicesSingle(shardKey, null, col); log.info("Expected Slices {}", slices); if (expectedSlices.equals(slices)) { sameShardRoutes.add(shardKey); } } assertTrue(sameShardRoutes.size() > 1); // Do N queries with _route_ parameter to the same shard for (int i = 0; i < n; i++) { ModifiableSolrParams solrParams = new ModifiableSolrParams(); solrParams.set(CommonParams.Q, "*:*"); solrParams.set(ShardParams._ROUTE_, sameShardRoutes.get(random().nextInt(sameShardRoutes.size()))); log.info("output: {}", cluster.getSolrClient().query(COLLECTION, solrParams)); } // Request counts increase from expected nodes should aggregate to 1000, while there should be // no increase in unexpected nodes. int increaseFromExpectedUrls = 0; int increaseFromUnexpectedUrls = 0; Map<String, Long> numRequestsToUnexpectedUrls = Maps.newHashMap(); for (Slice slice : col.getSlices()) { for (Replica replica : slice.getReplicas()) { String baseURL = (String) replica.get(ZkStateReader.BASE_URL_PROP); Long prevNumRequests = requestCountsMap.get(baseURL); Long curNumRequests = getNumRequests(baseURL, COLLECTION); long delta = curNumRequests - prevNumRequests; if (expectedBaseURLs.contains(baseURL)) { increaseFromExpectedUrls += delta; } else { increaseFromUnexpectedUrls += delta; numRequestsToUnexpectedUrls.put(baseURL, delta); } } } assertEquals("Unexpected number of requests to expected URLs", n, increaseFromExpectedUrls); assertEquals("Unexpected number of requests to unexpected URLs: " + numRequestsToUnexpectedUrls, 0, increaseFromUnexpectedUrls); }
From source file:es.pode.catalogadorWeb.presentacion.exportar.ExportarControllerImpl.java
public final String validarLomes(ActionMapping mapping, ValidarLomesForm form, HttpServletRequest request, HttpServletResponse response) throws Exception { String resultado;// www. j a va2 s.c o m boolean ok = true; //String idiomaLocale=((Locale)request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE)).getLanguage(); ResourceBundle datosResources = I18n.getInstance().getResource("application-resources", (Locale) request.getSession().getAttribute(ConstantesAgrega.DEFAULT_LOCALE)); Collection mensajes = new ArrayList(); LomAvanzadoVO lomAv = this.getCatalogadorAvSession(request).getMDSesion(); if (lomAv == null) { lomAv = new LomAvanzadoVO(); } logger.debug("Mtodo de validacion de metadatos avanzados"); // -- GENERAL -- if (lomAv.getGeneral() == null) { mensajes.add(datosResources.getString("CAV.1")); } else { AvGeneralVO gn = lomAv.getGeneral(); if (gn.getIdentificadores() != null && gn.getIdentificadores().length > 0) { // CATALOGOS int i = 0; while ((ok) && (i < gn.getIdentificadores().length)) { if (gn.getIdentificadores()[i] != null) { String cat = gn.getIdentificadores()[i].getCatalogo(); String ent = gn.getIdentificadores()[i].getEntrada(); if (((cat == null) || (cat.trim().equals(""))) && ((ent != null) && (!ent.trim().equals(""))))//Si existe una entrada, un catlogo es obligatorio mensajes.add(datosResources.getString("CAV.1.1.1")); } if (!mensajes.equals("")) { ok = false; } else { i++; } } //ENTRADAS i = 0; ok = true; while ((ok) && (i < gn.getIdentificadores().length)) { if (gn.getIdentificadores()[i] != null) { String cat = gn.getIdentificadores()[i].getCatalogo(); String ent = gn.getIdentificadores()[i].getEntrada(); if (((ent == null) || (ent.trim().equals(""))) && ((cat != null) && (!cat.trim().equals(""))))//Si existe un catlogo, una entrada es obligatoria mensajes.add(datosResources.getString("CAV.1.1.2")); } if (!mensajes.equals("")) { ok = false; } else { i++; } } } //TITULOS boolean todosVacios = true; String texto = null; if (gn.getTitulo() != null) { for (int i = 0; i < gn.getTitulo().getTextos().length && todosVacios; i++) { if (gn.getTitulo().getTextos()[i] != null) { texto = gn.getTitulo().getTextos()[i].getTexto(); } if (texto != null && !texto.trim().equals("")) { todosVacios = false; } } if (todosVacios) mensajes.add(datosResources.getString("CAV.1.2"));//debe tener por lo menos un titulo } else mensajes.add(datosResources.getString("CAV.1.2"));//debe tener por lo menos un titulo //IDIOMA todosVacios = true; String idioma = null; if (gn.getIdiomas() != null && gn.getIdiomas().length > 0) { for (int i = 0; i < gn.getIdiomas().length && todosVacios; i++) { if (gn.getIdiomas()[i] != null) { idioma = gn.getIdiomas()[i].getTexto(); } if (idioma != null && !idioma.equals("")) { todosVacios = false; } } if (todosVacios) mensajes.add(datosResources.getString("CAV.1.3"));//debe tener por lo menos un idioma } else mensajes.add(datosResources.getString("CAV.1.3"));//debe tener por lo menos un idioma todosVacios = true; String descripcion = null; if (gn.getDescripciones() != null && gn.getDescripciones().length > 0) { for (int i = 0; i < gn.getDescripciones().length && todosVacios; i++) { if (gn.getDescripciones()[i] != null) { for (int j = 0; j < gn.getDescripciones()[i].getTextos().length && todosVacios; j++) { if (gn.getDescripciones()[i].getTextos()[j] != null) { descripcion = gn.getDescripciones()[i].getTextos()[j].getTexto(); } if (descripcion != null && !descripcion.trim().equals("")) { todosVacios = false; } } } } if (todosVacios) mensajes.add(datosResources.getString("CAV.1.4"));//al menos una descripcion } else mensajes.add(datosResources.getString("CAV.1.4"));//al menos una descripcion //NIVEL DE AGREGACION if (gn.getNivelAgregacion() != null) { if (gn.getNivelAgregacion().getValor() == null || gn.getNivelAgregacion().getValor().equals("")) mensajes.add(datosResources.getString("CAV.1.8")); } else mensajes.add(datosResources.getString("CAV.1.8")); } // -- CICLO DE VIDA -- if (lomAv.getLifeCycle() != null) { AvLifeCycleVO life = lomAv.getLifeCycle(); // CONTRIBUCION String rol; boolean errorContRol = false; boolean errorContEntidad = false; boolean errorContFecha = false; boolean errorFecha = true; boolean errorFechaVacia = false; boolean errorDescVacia = false; boolean errorMinutos = false; boolean todosVacios = true; ContribucionVO[] contribuciones = life.getContribuciones(); if (contribuciones != null && contribuciones.length > 0) { for (int i = 0; i < contribuciones.length && (!errorContRol || !errorContEntidad || !errorContFecha); i++) { // ROL if (!errorContRol) { if (contribuciones[i].getTipo() != null) { rol = contribuciones[i].getTipo().getValor(); if (rol == null || rol.trim().equals("")) { errorContRol = true; mensajes.add(datosResources.getString("CAV.2.3.1"));//El campo Tipo es obligatorio si se va a incluir una contribución } } else { errorContRol = true; mensajes.add(datosResources.getString("CAV.2.3.1"));//El campo Tipo es obligatorio si se va a incluir una contribución } } // //entidad if (!errorContEntidad) { todosVacios = true; if (contribuciones[i].getEntidades() != null && contribuciones[i].getEntidades().length > 0) { for (int j = 0; j < contribuciones[i].getEntidades().length && todosVacios; j++) { EntidadVO ent = contribuciones[i].getEntidades()[j]; if (ent != null) { if ((ent.getTexto() == null) || (ent.getTexto().trim().equals(""))) { errorContEntidad = true; mensajes.add(datosResources.getString("CAV.2.3.2"));//El campo Entidad es obligatorio si se va a incluir una contribución } } } } else { errorContEntidad = true; mensajes.add(datosResources.getString("CAV.2.3.2"));//El campo Entidad es obligatorio si se va a incluir una contribución } } //fecha if (!errorContFecha) { if (contribuciones[i].getFecha() != null) { FechaVO fechaCont = contribuciones[i].getFecha(); DescripcionVO descCont = fechaCont.getDescripcion(); boolean fechaVacia = true; if (fechaCont != null && fechaVacia) { if ((fechaCont.getFecha() == null) || (fechaCont.getFecha().equals(""))) { fechaVacia = false; } } else { fechaVacia = false; } boolean descVacios = true; String descFec = null; if (descCont != null) { for (int j = 0; j < descCont.getTextos().length && descVacios; j++) { descFec = descCont.getTextos()[j].getTexto(); if (descFec == null || descFec.trim().equals("")) { descVacios = false;// si todos los campos descripcion son vacios } } } else { descVacios = false; } if (descVacios && fechaVacia && !errorFecha) { // errorContFecha=true; errorFecha = false; mensajes.add(datosResources.getString("CAV.2.3.3"));//El campo FECHA es obligatorio } else if (!descVacios && fechaVacia && !errorFechaVacia && errorFecha) { // errorContFecha=true; errorFechaVacia = true; mensajes.add(datosResources.getString("CAV.2.3.3.2"));//La descripción de la fecha es obligatoria si existe una fecha } else if (descVacios && !fechaVacia && !errorDescVacia && errorFecha) { // errorContFecha=true; errorDescVacia = true; mensajes.add(datosResources.getString("CAV.2.3.3.1"));//La fecha es obligatoria si existe una descripci&oacuete;n de fecha } // if(errorFecha && errorFechaVacia && errorDescVacia && errorMinutos) // errorContFecha=true; } else { errorContFecha = true; errorFecha = false; mensajes.add(datosResources.getString("CAV.2.3.3"));//El campo FECHA es obligatorio } } } } } // -- METAMETADATA -- if (lomAv.getMetaMetadata() == null) { mensajes.add(datosResources.getString("CAV.3")); } else { AvMetametadataVO mm = lomAv.getMetaMetadata(); int i = 0; boolean completo = true; boolean todosVacios = true; //IDENTIFICADORES IdentificadorVO[] identificadores = mm.getIdentificadores(); if (identificadores != null && identificadores.length > 0) { for (i = 0; i < identificadores.length && completo; i++) { if ((identificadores[i].getCatalogo() != null && identificadores[i].getCatalogo().trim().equals("")) && (identificadores[i].getEntrada() != null && !identificadores[i].getEntrada().trim().equals(""))) { completo = false; mensajes.add(datosResources.getString("CAV.3.1.1"));//Si existe una entrada para un identificador, un catálogo es obligatorio } } completo = true; for (i = 0; i < identificadores.length && completo; i++) { if ((identificadores[i].getCatalogo() != null && !identificadores[i].getCatalogo().trim().equals("")) && (identificadores[i].getEntrada() != null && identificadores[i].getEntrada().trim().equals(""))) { completo = false; mensajes.add(datosResources.getString("CAV.3.1.2"));//Si existe un catálogo para un identificador, una entrada es obligatoria } } } //CONTRIBUCION String rol; boolean errorContRol = false; boolean errorContEntidad = false; boolean errorContFecha = false; boolean errorFecha = true; boolean errorFechaVacia = false; boolean errorDescVacia = false; boolean errorMinutos = false; ContribucionVO[] contribuciones = mm.getContribuciones(); if (contribuciones != null && contribuciones.length > 0) { for (i = 0; i < contribuciones.length && (!errorContRol || !errorContEntidad || !errorContFecha); i++) { // ROL if (!errorContRol) { if (contribuciones[i].getTipo() != null) { rol = contribuciones[i].getTipo().getValor(); if (rol == null || rol.trim().equals("")) { errorContRol = true; mensajes.add(datosResources.getString("CAV.3.2.1"));//El campo Tipo es obligatorio si se va a incluir una contribución } } else { errorContRol = true; mensajes.add(datosResources.getString("CAV.3.2.1"));//El campo Tipo es obligatorio si se va a incluir una contribución } } // //entidad if (!errorContEntidad) { todosVacios = true; if (contribuciones[i].getEntidades() != null && contribuciones[i].getEntidades().length > 0) { for (int j = 0; j < contribuciones[i].getEntidades().length && todosVacios; j++) { EntidadVO ent = contribuciones[i].getEntidades()[j]; if (ent != null) { if ((ent.getTexto() == null) || (ent.getTexto().trim().equals(""))) { errorContEntidad = true; mensajes.add(datosResources.getString("CAV.3.2.2"));//El campo Entidad es obligatorio si se va a incluir una contribución } } } } else { errorContEntidad = true; mensajes.add(datosResources.getString("CAV.3.2.2"));//El campo Entidad es obligatorio si se va a incluir una contribución } } //fecha if (!errorContFecha) { if (contribuciones[i].getFecha() != null) { FechaVO fechaCont = contribuciones[i].getFecha(); DescripcionVO descCont = fechaCont.getDescripcion(); boolean fechaVacia = true; if (fechaCont != null && fechaVacia) { if ((fechaCont.getFecha() == null) || (fechaCont.getFecha().equals(""))) { fechaVacia = false; } } else { fechaVacia = false; } boolean descVacios = true; String descFec = null; if (descCont != null) { for (int j = 0; j < descCont.getTextos().length && descVacios; j++) { descFec = descCont.getTextos()[j].getTexto(); if (descFec == null && descFec.trim().equals("")) { descVacios = false;// si todos los campos descripcion son vacios } } } else { descVacios = false; } if (descVacios && fechaVacia && !errorFecha) { // errorContFecha=true; errorFecha = false; mensajes.add(datosResources.getString("CAV.3.2.3"));//El campo FECHA es obligatorio } else if (!descVacios && fechaVacia && !errorFechaVacia && errorFecha) { // errorContFecha=true; errorFechaVacia = true; mensajes.add(datosResources.getString("CAV.3.2.3.2"));//La descripción de la fecha es obligatoria si existe una fecha } else if (descVacios && !fechaVacia && !errorDescVacia && errorFecha) { // errorContFecha=true; errorDescVacia = true; mensajes.add(datosResources.getString("CAV.3.2.3.1"));//La fecha es obligatoria si existe una descripci&oacuete;n de fecha } // if(errorFecha && errorFechaVacia && errorDescVacia && errorMinutos) // errorContFecha=true; } else { errorContFecha = true; errorFecha = true; mensajes.add(datosResources.getString("CAV.3.2.3"));//El campo FECHA es obligatorio } } } } // EsquemaDeMetadatosVO[] esquemasMeta= mm.getEsquemas(); No es obligatorio // //ESQUEMA METADATOS // todosVacios=true; // String esquema; // if(esquemasMeta!=null && esquemasMeta.length>0){ // for(i=0;i<esquemasMeta.length && todosVacios;i++) // { // esquema=esquemasMeta[i].getTexto(); // if(esquema!=null && !esquema.trim().equals("")) // { // todosVacios=false; // } // } // if(todosVacios) // mensajes.add(datosResources.getString("CAV.3.3"));//El campo Esquema de metadatos es obligatorio // }else{ // mensajes.add(datosResources.getString("CAV.3.3"));//El campo Esquema de metadatos es obligatorio // } //IDIOMA if (mm.getIdioma() != null) { if (mm.getIdioma().getTexto() == null || mm.getIdioma().getTexto().equals("")) mensajes.add(datosResources.getString("CAV.3.4"));//El campo Idioma es obligatorio } else mensajes.add(datosResources.getString("CAV.3.4"));//El campo Idioma es obligatorio } // -- TECHNICAL -- if (lomAv.getTechnical() != null) { AvTechnicalVO tec = lomAv.getTechnical(); // NOMBRE if (tec.getRequisitos() != null && tec.getRequisitos().length > 0) { ok = true; int i = 0; while ((ok) && (i < tec.getRequisitos().length)) { AgregadorORVO[] cat = tec.getRequisitos()[i].getAgregadoresOR(); if (cat != null && cat.length > 0) { int j = 0; while ((ok) && (j < cat.length)) { String nombre = ""; String tipo = ""; String maxi = ""; String mini = ""; SourceValueVO sNombre = cat[j].getNombre(); SourceValueVO sTipo = cat[j].getTipo(); if (sNombre != null) { nombre = sNombre.getValor(); } if (sTipo != null) { tipo = sTipo.getValor(); } VersionMinVO min = cat[j].getVersionMin(); if (min != null && min.getTexto() != null) { mini = min.getTexto().trim(); } VersionMaxVO max = cat[j].getVersionMax(); if (max != null && max.getTexto() != null) { maxi = max.getTexto().trim(); } if (((nombre == null) || (nombre.equals(""))) && (((!tipo.equals(""))) || ((!mini.equals(""))) || ((!maxi.equals(""))))) { mensajes.add(datosResources.getString("CAV.4.4.1.2")); ok = false; } j++; } } i++; } //TIPO ok = true; i = 0; while ((ok) && (i < tec.getRequisitos().length)) { AgregadorORVO[] cat = tec.getRequisitos()[i].getAgregadoresOR(); if (cat != null && cat.length > 0) { int j = 0; while ((ok) && (j < cat.length)) { String nombre = ""; String tipo = ""; String maxi = ""; String mini = ""; SourceValueVO sNombre = cat[j].getNombre(); SourceValueVO sTipo = cat[j].getTipo(); if (sNombre != null) { nombre = sNombre.getValor(); } if (sTipo != null) { tipo = sTipo.getValor(); } VersionMinVO min = cat[j].getVersionMin(); if (min != null && min.getTexto() != null) { mini = min.getTexto().trim(); } VersionMaxVO max = cat[j].getVersionMax(); if (max != null && max.getTexto() != null) { maxi = max.getTexto().trim(); } if (((tipo == null) || (tipo.equals(""))) && (((!nombre.equals(""))) || ((!mini.equals(""))) || ((!maxi.equals(""))))) { mensajes.add(datosResources.getString("CAV.4.4.1.1")); ok = false; } j++; } } i++; } //DURACION boolean todosVacios = true; String descripcion; if (tec.getDuracion() != null) { if ((tec.getDuracion().getDescripcion() != null) && (tec.getDuracion().getDescripcion().getTextos() != null) && (tec.getDuracion().getDescripcion().getTextos().length > 0)) { for (i = 0; i < tec.getDuracion().getDescripcion().getTextos().length && todosVacios; i++) { descripcion = tec.getDuracion().getDescripcion().getTextos()[i].getTexto(); if (descripcion != null && !descripcion.trim().equals("")) { todosVacios = false; } } } } boolean duracionVacia = true; if (tec.getDuracion() != null) { if ((tec.getDuracion().getDuracion() != null) && (!tec.getDuracion().getDuracion().equals(""))) { duracionVacia = false; } } if (todosVacios && !duracionVacia) mensajes.add(datosResources.getString("CAV.4.7.2"));//La descripción dela duración es obligatoria si existe una duración if (!todosVacios && duracionVacia) mensajes.add(datosResources.getString("CAV.4.7.1"));//La duración es obligatoria si existe una descripción de duración } } //USO EDUCATIVO if ((lomAv.getEducational() == null) || (lomAv.getEducational().length == 0)) { mensajes.add(datosResources.getString("CAV.5")); //Al menos debe existir una categoría Uso Educativo } else { for (int indexEdu = 0; indexEdu < lomAv.getEducational().length; indexEdu++) { AvEducationalVO edu = lomAv.getEducational()[indexEdu]; boolean todosVacios = true; int i; //TIPO DE RECURSO DE APRENDIZAJE String recurso = null; if (edu.getTiposrecursoedu() != null && edu.getTiposrecursoedu().length > 0) { for (i = 0; i < edu.getTiposrecursoedu().length && todosVacios; i++) { recurso = edu.getTiposrecursoedu()[i].getValor(); if (recurso != null && !recurso.equals("")) { todosVacios = false; } } if (todosVacios) mensajes.add(datosResources.getString("CAV.5.2.1") + " " + (indexEdu + 1));//El campo Tipo de recurso es obligatorio } else mensajes.add(datosResources.getString("CAV.5.2.1") + " " + (indexEdu + 1));//El campo Tipo de recurso es obligatorio //IDIOMA todosVacios = true; String idioma = null; if (edu.getIdiomas() != null && edu.getIdiomas().length > 0) { for (i = 0; i < edu.getIdiomas().length && todosVacios; i++) { idioma = edu.getIdiomas()[i].getTexto(); if (idioma != null && !idioma.equals("")) { todosVacios = false; } } if (todosVacios) mensajes.add(datosResources.getString("CAV.5.11.1") + " " + (indexEdu + 1));//El campo Idioma es obligatorio } else mensajes.add(datosResources.getString("CAV.5.11.1") + " " + (indexEdu + 1));//El campo Idioma es obligatorio //TIEMPO DE APRENDIZAJE //DESCRIPCIONES todosVacios = true; String descripcion; if (edu.getTiempoAprendizaje() != null && edu.getTiempoAprendizaje().getDescripcion() != null && edu.getTiempoAprendizaje().getDescripcion().getTextos() != null && edu.getTiempoAprendizaje().getDescripcion().getTextos().length > 0) { for (i = 0; i < edu.getTiempoAprendizaje().getDescripcion().getTextos().length && todosVacios; i++) { descripcion = edu.getTiempoAprendizaje().getDescripcion().getTextos()[i].getTexto(); if (descripcion != null && !descripcion.trim().equals("")) { todosVacios = false; } } } //DURACION boolean duracionVacia = true; if (edu.getTiempoAprendizaje() != null) { if ((edu.getTiempoAprendizaje().getDuracion() != null) && (!edu.getTiempoAprendizaje().getDuracion().equals(""))) { duracionVacia = false; } } if (todosVacios && !duracionVacia) mensajes.add(datosResources.getString("CAV.5.9.2.1") + " " + (indexEdu + 1));//La descripción dela duración es obligatoria si existe una duración if (!todosVacios && duracionVacia) mensajes.add(datosResources.getString("CAV.5.9.1.1") + " " + (indexEdu + 1));//La duración es obligatoria si existe una descripción de duración } } // -- DERECHOS -- if (lomAv.getDerechos() == null) { mensajes.add(datosResources.getString("CAV.6")); } else { // COPYRIGHT AvRightsVO de = lomAv.getDerechos(); if (de != null && de.getDerechosDeAutor() != null) { String copyright = de.getDerechosDeAutor().getValor(); if (copyright == null || copyright.equals("")) { mensajes.add(datosResources.getString("CAV.6.2")); } } //ACCESO if (de != null && de.getAcceso() != null && de.getAcceso().getTipo() != null) { String tipoAcceso = de.getAcceso().getTipo().getValor(); if (tipoAcceso == null || tipoAcceso.equals("")) { mensajes.add(datosResources.getString("CAV.6.4.1")); } } //AMBITO if (de != null && de.getAcceso() != null && de.getAcceso().getDescripcion() != null && de.getAcceso().getDescripcion().getTextos() != null && de.getAcceso().getDescripcion().getTextos().length > 0) { if (!de.getAcceso().getTipo().getValor().equalsIgnoreCase("universal")) { String comunidades = de.getAcceso().getDescripcion().getTextos()[0].getTexto(); if (comunidades == null || comunidades.trim().equals("")) { mensajes.add(datosResources.getString("CAV.6.4.2"));//Es necesario seleccionar al menos un ámbito } } } } // -- RELACION -- if ((lomAv.getRelaciones() != null) && (lomAv.getRelaciones().length > 0)) { for (int indexRelacion = 0; indexRelacion < lomAv.getRelaciones().length; indexRelacion++) { AvRelationVO re = lomAv.getRelaciones()[indexRelacion]; ok = true; //TIPO if ((re.getTipo() != null)) { String tip = re.getTipo().getValor(); if ((tip == null) || (tip.equals(""))) mensajes.add(datosResources.getString("CAV.7.1.7") + (indexRelacion + 1)); } //IDENTIFICADOR if ((ok) && (re.getRecurso() != null) && (re.getRecurso().getIdentificador() != null) && (re.getTipo() != null)) { String cat = re.getRecurso().getIdentificador().getCatalogo(); String ent = re.getRecurso().getIdentificador().getEntrada(); String tip = re.getTipo().getValor(); if (((cat == null) || (cat.trim().equals(""))) && ((ent == null) || (ent.trim().equals(""))))//Si existe una entrada, un catlogo es obligatorio mensajes.add(datosResources.getString("CAV.7.3.7") + " " + (indexRelacion + 1)); if (!mensajes.equals("")) { ok = false; } } // CATALOGOS ok = true; if ((ok) && (re.getRecurso() != null) && (re.getRecurso().getIdentificador() != null) && (re.getTipo() != null)) { String cat = re.getRecurso().getIdentificador().getCatalogo(); String ent = re.getRecurso().getIdentificador().getEntrada(); String tip = re.getTipo().getValor(); if (((cat == null) || (cat.trim().equals(""))) && ((ent != null) && (!ent.trim().equals(""))))//Si existe una entrada, un catlogo es obligatorio mensajes.add(datosResources.getString("CAV.7.3.1.7") + " " + (indexRelacion + 1)); if (!mensajes.equals("")) { ok = false; } } //ENTRADAS if ((ok) && (re.getRecurso() != null) && (re.getRecurso().getIdentificador() != null)) { String cat = re.getRecurso().getIdentificador().getCatalogo(); String ent = re.getRecurso().getIdentificador().getEntrada(); if (((ent == null) || (ent.trim().equals(""))) && ((cat != null) && (!cat.trim().equals(""))))//Si existe un catlogo, una entrada es obligatoria mensajes.add(datosResources.getString("CAV.7.3.2.7") + " " + (indexRelacion + 1)); if (!mensajes.equals("")) { ok = false; } } } } // -- ANOTACION -- if ((lomAv.getAnotaciones() != null) && (lomAv.getAnotaciones().length > 0)) { int i; boolean todosVacios = true; for (int indexAnotacion = 0; indexAnotacion < lomAv.getAnotaciones().length; indexAnotacion++) { AvAnnotationVO an = lomAv.getAnotaciones()[indexAnotacion]; //ENTIDAD if (an.getEntidad() != null) { String entidad = an.getEntidad().getTexto(); if ((entidad == null) || (entidad.trim().equals(""))) { mensajes.add(datosResources.getString("CAV.8.1.8") + " " + (indexAnotacion + 1));//El campo Entidad es obligatorio } } //FECHA boolean fechaVacia = false; if (an.getFecha() != null) { String fecha = an.getFecha().getFecha(); if ((fecha == null) || (fecha.equals(""))) { fechaVacia = true; } } boolean descVacios = false; if (an.getFecha() != null && an.getFecha().getDescripcion() != null && an.getFecha().getDescripcion().getTextos() != null && an.getFecha().getDescripcion().getTextos().length > 0) { String descFec = an.getFecha().getDescripcion().getTextos()[0].getTexto(); if ((descFec == null) || (descFec.trim().equals(""))) { descVacios = true; } } if (descVacios && fechaVacia) { mensajes.add(datosResources.getString("CAV.8.2.8") + " " + (indexAnotacion + 1));//El campo FECHA es obligatorio } else if (descVacios && !fechaVacia) { mensajes.add(datosResources.getString("CAV.8.2.2.8") + " " + (indexAnotacion + 1));//La descripción de la fecha es obligatoria si existe una fecha } else if (!descVacios && fechaVacia) { mensajes.add(datosResources.getString("CAV.8.2.1.8") + " " + (indexAnotacion + 1));//La fecha es obligatoria si existe una descripci&oacuete;n de fecha } //DESCRIPCION String desc; if (an.getDescripcion() != null && an.getDescripcion().getTextos() != null && an.getDescripcion().getTextos().length > 0) { for (i = 0; i < an.getDescripcion().getTextos().length && todosVacios; i++) { desc = an.getDescripcion().getTextos()[i].getTexto(); if (desc != null && !desc.trim().equals("")) { todosVacios = false; } } if (todosVacios) mensajes.add(datosResources.getString("CAV.8.3.8") + " " + (indexAnotacion + 1));//El campo Descripción es obligatorio } else mensajes.add(datosResources.getString("CAV.8.3.8") + " " + (indexAnotacion + 1));//El campo Descripción es obligatorio } } if ((lomAv.getClasificaciones() != null) && (lomAv.getClasificaciones().length > 0)) { for (int indexClasificacion = 0; indexClasificacion < lomAv .getClasificaciones().length; indexClasificacion++) { AvClassificationVO cl = lomAv.getClasificaciones()[indexClasificacion]; if (cl.getProposito() != null) { if ((cl.getProposito().getValor() == null) || (cl.getProposito().getValor().equals(""))) { mensajes.add(datosResources.getString("CAV.9.1.9") + " " + (indexClasificacion + 1)); } } if (cl.getRutasTaxonomicas() != null && cl.getRutasTaxonomicas().length > 0) { for (int i = 0; i < cl.getRutasTaxonomicas().length; i++) { if (cl.getRutasTaxonomicas()[i].getFuente() != null && cl.getRutasTaxonomicas()[i].getFuente().getTextos() != null && cl.getRutasTaxonomicas()[i].getFuente().getTextos().length > 0) { String source = cl.getRutasTaxonomicas()[i].getFuente().getTextos()[0].getTexto(); if ((source == null) || (source.trim().equals(""))) { mensajes.add( datosResources.getString("CAV.9.2.1.9") + " " + (indexClasificacion + 1)); } } if (cl.getRutasTaxonomicas()[i].getTaxones() != null && cl.getRutasTaxonomicas()[i].getTaxones().length > 0) { for (int j = 0; j < cl.getRutasTaxonomicas()[i].getTaxones().length; j++) { if (cl.getRutasTaxonomicas()[i].getTaxones()[j].getId() != null && cl.getRutasTaxonomicas()[i].getTaxones()[j].getEntry() != null && cl.getRutasTaxonomicas()[i].getTaxones()[j].getEntry() .getTextos() != null && cl.getRutasTaxonomicas()[i].getTaxones()[j].getEntry() .getTextos().length > 0) { String id = cl.getRutasTaxonomicas()[i].getTaxones()[j].getId().getTexto(); String entry = cl.getRutasTaxonomicas()[i].getTaxones()[j].getEntry() .getTextos()[0].getTexto(); if ((id == null) || (id.trim().equals("")) || ((entry == null) || (entry.trim().equals("")))) { mensajes.add(datosResources.getString("CAV.9.2.2.9") + " " + (indexClasificacion + 1)); } } } } else { mensajes.add(datosResources.getString("CAV.9.2.2.9") + " " + (indexClasificacion + 1)); } } } else { mensajes.add(datosResources.getString("CAV.9.2") + " " + (indexClasificacion + 1)); } } } if (mensajes.size() > 0) //hay errores { resultado = "NoValido"; form.setMensajesError(mensajes); // this.saveErrorMessage(request,"catalogadorAvanzado.exportar.error.novalido"); } else { resultado = "Valido"; } return resultado; }
From source file:org.apache.hadoop.hive.ql.optimizer.SetReducerParallelism.java
@SuppressWarnings("unchecked") @Override/*w w w. java2 s .co m*/ public Object process(Node nd, Stack<Node> stack, NodeProcessorCtx procContext, Object... nodeOutputs) throws SemanticException { OptimizeTezProcContext context = (OptimizeTezProcContext) procContext; ReduceSinkOperator sink = (ReduceSinkOperator) nd; ReduceSinkDesc desc = sink.getConf(); long bytesPerReducer = context.conf.getLongVar(HiveConf.ConfVars.BYTESPERREDUCER); int maxReducers = context.conf.getIntVar(HiveConf.ConfVars.MAXREDUCERS); int constantReducers = context.conf.getIntVar(HiveConf.ConfVars.HADOOPNUMREDUCERS); if (context.visitedReduceSinks.contains(sink)) { // skip walking the children LOG.debug("Already processed reduce sink: " + sink.getName()); return true; } context.visitedReduceSinks.add(sink); if (desc.getNumReducers() <= 0) { if (constantReducers > 0) { LOG.info("Parallelism for reduce sink " + sink + " set by user to " + constantReducers); desc.setNumReducers(constantReducers); } else { long numberOfBytes = 0; // we need to add up all the estimates from the siblings of this reduce sink for (Operator<? extends OperatorDesc> sibling : sink.getChildOperators().get(0) .getParentOperators()) { if (sibling.getStatistics() != null) { numberOfBytes = StatsUtils.safeAdd(numberOfBytes, sibling.getStatistics().getDataSize()); } else { LOG.warn("No stats available from: " + sibling); } } int numReducers = Utilities.estimateReducers(numberOfBytes, bytesPerReducer, maxReducers, false); LOG.info("Set parallelism for reduce sink " + sink + " to: " + numReducers); desc.setNumReducers(numReducers); final Collection<ExprNodeDescEqualityWrapper> keyCols = ExprNodeDescEqualityWrapper .transform(desc.getKeyCols()); final Collection<ExprNodeDescEqualityWrapper> partCols = ExprNodeDescEqualityWrapper .transform(desc.getPartitionCols()); if (keyCols != null && keyCols.equals(partCols)) { desc.setReducerTraits(EnumSet.of(UNIFORM, AUTOPARALLEL)); } else { desc.setReducerTraits(EnumSet.of(AUTOPARALLEL)); } } } else { LOG.info("Number of reducers determined to be: " + desc.getNumReducers()); } return false; }
From source file:org.apache.ivory.resource.AbstractEntityManager.java
/** * Returns the list of entities registered of a given type. * /* w ww . j a v a2 s. co m*/ * @param type * @return String */ public EntityList getDependencies(String type) { try { EntityType entityType = EntityType.valueOf(type.toUpperCase()); Collection<String> entityNames = configStore.getEntities(entityType); if (entityNames == null || entityNames.equals("")) { return new EntityList(new Entity[] {}); } Entity[] entities = new Entity[entityNames.size()]; int index = 0; for (String entityName : entityNames) { entities[index++] = configStore.get(entityType, entityName); } return new EntityList(entities); } catch (Exception e) { LOG.error("Unable to get list for entities for (" + type + ")", e); throw IvoryWebException.newException(e, Response.Status.BAD_REQUEST); } }
From source file:org.apache.nifi.connectable.StandardConnection.java
@Override public void setRelationships(final Collection<Relationship> newRelationships) { final Collection<Relationship> currentRelationships = relationships.get(); if (currentRelationships.equals(newRelationships)) { return;/* www . ja v a 2 s. c om*/ } if (getSource().isRunning()) { throw new IllegalStateException( "Cannot update the relationships for Connection because the source of the Connection is running"); } try { this.relationships.set(new ArrayList<>(newRelationships)); getSource().updateConnection(this); } catch (final RuntimeException e) { this.relationships.set(currentRelationships); throw e; } }
From source file:org.caleydo.vis.lineup.model.CategoricalRankColumnModel.java
public void setFilter(Collection<CATEGORY_TYPE> filter, boolean isFilterNA, boolean isGlobalFilter, boolean isRankIndependentFilter) { if (filter.equals(selection) && isFilterNA == this.filterNA && this.isGlobalFilter == isGlobalFilter && this.isRankIndependentFilter == isRankIndependentFilter) return;/*from w w w.j a v a 2s .c om*/ invalidAllFilter(); this.selection.clear(); this.selection.addAll(filter); this.isGlobalFilter = isGlobalFilter; this.filterNA = isFilterNA; this.isRankIndependentFilter = isRankIndependentFilter; propertySupport.firePropertyChange(PROP_FILTER, false, true); }
From source file:org.caleydo.vis.lineup.model.MultiCategoricalRankColumnModel.java
protected void setFilter(Collection<CATEGORY_TYPE> filter, boolean filterNA, boolean isGlobalFilter, boolean isRankIndependentFilter) { if (filter.equals(selection) && filterNA == this.filterNA && this.isGlobalFilter == isGlobalFilter && this.isRankIndependentFilter == isRankIndependentFilter) return;//www . java 2 s. co m invalidAllFilter(); this.selection.clear(); this.selection.addAll(filter); this.isGlobalFilter = isGlobalFilter; this.filterNA = filterNA; this.isRankIndependentFilter = isRankIndependentFilter; propertySupport.firePropertyChange(PROP_FILTER, false, true); }
From source file:org.coode.proximitymatrix.ClusteringProximityMatrix.java
public ClusteringProximityMatrix<O> agglomerate(PairFilter<Collection<? extends O>> filter) { Set<Collection<? extends O>> objects = this.getObjects(); Pair<Collection<? extends O>> minimumDistancePair = this.getMinimumDistancePair(); List<Collection<? extends O>> elementList = new ArrayList<Collection<? extends O>>( minimumDistancePair.getElements()); Collection<? extends O> a = elementList.get(0); Collection<? extends O> b = elementList.get(1); objects.removeAll(minimumDistancePair.getElements()); List<Collection<? extends O>> newObjects = new ArrayList<Collection<? extends O>>(objects); List<O> merger = new ArrayList<O>(); // int firstMergedIndex = this.getRowIndex(a); // int secondMergedIndex = this.getRowIndex(b); merger.addAll(minimumDistancePair.getFirst()); merger.addAll(minimumDistancePair.getSecond()); newObjects.add(merger);/*w w w .j a v a 2 s . co m*/ double[][] newDistances = new double[newObjects.size()][newObjects.size()]; int i = 0; final int size = newObjects.size(); for (int index = 0; index < size; index++) { Collection<? extends O> aCollection = newObjects.get(index); // int rowIndex = aCollection.equals(merger) ? -1 // : i < firstMergedIndex ? i // : i + 1 < secondMergedIndex ? i + 1 : i + 2; int rowIndex = aCollection.equals(merger) ? -1 : this.getRowIndex(aCollection); int j = 0; for (Collection<? extends O> anotherCollection : newObjects) { // int columnIndex = anotherCollection.equals(merger) ? -1 // : j < firstMergedIndex ? j // : j + 1 < secondMergedIndex ? j + 1 : j + 2; int columnIndex = anotherCollection.equals(merger) ? -1 : this.getColumnIndex(anotherCollection); if (i == j) { newDistances[i][j] = 0; } else { if (rowIndex != -1 && columnIndex != -1) { newDistances[i][j] = this.getEntry(rowIndex, columnIndex); } else { // Apply the formula Collection<? extends O> q = rowIndex != -1 ? aCollection : anotherCollection; double distanceAB = this.getDistance(a, b); double distanceAQ = this.getDistance(a, q); double distanceBQ = this.getDistance(b, q); double newProximity = this.getProximityMeasureFactory() .getProximityMeasure(a.size(), b.size(), q.size()) .distance(distanceAQ, distanceBQ, distanceAB); newDistances[i][j] = newProximity; } } j++; } i++; } SimpleProximityMatrix<Collection<? extends O>> simpleProximityMatrix = new SimpleProximityMatrix<Collection<? extends O>>( newObjects, newDistances, filter, PairFilterBasedComparator.build(filter, newObjects, new TableDistance<Collection<? extends O>>(newObjects, newDistances))); History<Collection<? extends O>> newHistory = this.getHistory(); HistoryItem<Collection<? extends O>> newItem = this.getHistoryItemFactory().create(minimumDistancePair, newObjects); newHistory.add(newItem); ClusteringProximityMatrix<O> toReturn = new ClusteringProximityMatrix<O>(simpleProximityMatrix, this.getProximityMeasureFactory(), newHistory, this.getHistoryItemFactory()); return toReturn; }