this.reader = reader; this.clientMetadata = clientMetadata; this.batchSize = getBatchSize(persistenceUnit, this.externalProperties);
public void populateClientProperties(Client client, Map<String, Object> properties) { this.hbaseClient = (HBaseClient) client; if (properties != null) { for (String key : properties.keySet()) { Object value = properties.get(key); if (checkNull(key, value)) { if (key.equals(FILTER) && value instanceof Filter) { this.hbaseClient.setFilter((Filter) value); } else if (key.equals(PersistenceProperties.KUNDERA_BATCH_SIZE)) { setBatchSize(value); } // Add more } } } }
@Override protected Client instantiateClient(String persistenceUnit) { return new HBaseClient(indexManager, conf, connection, reader, persistenceUnit, externalProperties, clientMetadata, kunderaMetadata); }
private void setBatchSize(Object value) { if (value instanceof Integer) { this.hbaseClient.setBatchSize((Integer) value); } else if (value instanceof String) { this.hbaseClient.setBatchSize(Integer.valueOf((String) value)); } }
@Test public void testIteratorWithOneFilter() { Map<String, Client> clients = (Map<String, Client>) em.getDelegate(); HBaseClient client = (HBaseClient) clients.get("hbaseTest"); Filter filter = new PrefixFilter(Bytes.toBytes("100" + "_")); client.setFilter(new KeyOnlyFilter()); client.addFilter("city_similarity", filter); String query2 = "select u from CitySimilarity u"; com.impetus.kundera.query.Query queryObject = (com.impetus.kundera.query.Query) em .createQuery(query2); queryObject.setFetchSize(10); Iterator<CitySimilarity> resultIterator = queryObject.iterate(); CitySimilarity cityS = null; int counter = 0; while (resultIterator.hasNext()) { counter++; cityS = resultIterator.next(); Assert.assertNotNull(cityS); Assert.assertNotNull(cityS.getId()); Assert.assertNull(cityS.getBookInfo()); } Assert.assertEquals(2, counter); }
if (node.isInState(RemovedState.class)) delete(entity, rowKey); addRecords(columnWrapper, embeddableData, dataSet); addRecords(columnWrapper, embeddableData, dataSet); data.put(hTable, dataSet);
@Override public void delete(Object entity, Object rowKey) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( m.getPersistenceUnit()); if (metaModel.isEmbeddable(m.getIdAttribute().getBindableJavaType())) { rowKey = KunderaCoreUtils.prepareCompositeKey(m, rowKey); } deleteByColumn(m.getSchema(), m.getTableName(), null, rowKey); }
@Override public void addBatch(Node node) { if (node != null) { nodes.add(node); } onBatchLimit(); }
/** * Check on batch limit. */ private void onBatchLimit() { if (batchSize > 0 && batchSize == nodes.size()) { executeBatch(); nodes.clear(); } }
public ResultIterator(HBaseClient client, EntityMetadata m, PersistenceDelegator pd, int fetchSize, QueryTranslator translator, List<String> columns) { this.entityMetadata = m; this.client = client; this.persistenceDelegator = pd; this.handler = ((HBaseClient) client).getHandle(); this.handler.setFetchSize(fetchSize); this.fetchSize = fetchSize; this.translator = translator; this.columns = columns; onQuery(m, client); }
/** * Sets the batch size. * * @param value * the new batch size */ private void setBatchSize(Object value) { if (value instanceof Integer) { this.hbaseClient.setBatchSize((Integer) value); } else if (value instanceof String) { this.hbaseClient.setBatchSize(Integer.valueOf((String) value)); } }
if (node.isInState(RemovedState.class)) delete(entity, rowKey); addRecords(columnWrapper, embeddableData, dataSet); addRecords(columnWrapper, embeddableData, dataSet); data.put(hTable, dataSet);
@Override public void delete(Object entity, Object pKey) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel( metadata.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(metadata.getEntityClazz()); List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()) .getSecondaryTablesName(); secondaryTables.add(metadata.getTableName()); if (metaModel.isEmbeddable(metadata.getIdAttribute().getBindableJavaType())) { pKey = KunderaCoreUtils.prepareCompositeKey(metadata, pKey); } for (String colTableName : secondaryTables) { deleteByColumn(metadata.getSchema(), colTableName, ((AbstractAttribute) metadata.getIdAttribute()).getJPAColumnName(), pKey); } }
public void addBatch(Node node) { if (node != null) { nodes.add(node); } onBatchLimit(); }
/** * On batch limit. */ private void onBatchLimit() { if (batchSize > 0 && batchSize == nodes.size()) { executeBatch(); nodes.clear(); } }
/** * Instantiates a new result iterator. * * @param client * the client * @param m * the entity metadata * @param pd * the pd * @param fetchSize * the fetch size * @param translator * the translator * @param columns * the columns */ public ResultIterator(HBaseClient client, EntityMetadata m, PersistenceDelegator pd, int fetchSize, QueryTranslator translator, List<Map<String, Object>> columns) { this.entityMetadata = m; this.client = client; this.persistenceDelegator = pd; this.handler = client.getHandle(); this.handler.setFetchSize(fetchSize); this.fetchSize = fetchSize; this.translator = translator; this.columns = columns; onQuery(m, client); }
this.reader = reader; this.clientMetadata = clientMetadata; getBatchSize(persistenceUnit, this.externalProperties);
/** * Populate client properties. * * @param client * the client * @param properties * the properties */ public void populateClientProperties(Client client, Map<String, Object> properties) { this.hbaseClient = (HBaseClient) client; if (properties != null) { for (String key : properties.keySet()) { Object value = properties.get(key); if (checkNull(key, value)) { if (key.equals(FILTER) && value instanceof Filter) { this.hbaseClient.setFilter((Filter) value); } else if (key.equals(PersistenceProperties.KUNDERA_BATCH_SIZE)) { setBatchSize(value); } } } } }
/** * Gets the batch size. * * @param persistenceUnit * the persistence unit * @param puProperties * the pu properties * @return the batch size */ private void getBatchSize(String persistenceUnit, Map<String, Object> puProperties) { String batch_Size = puProperties != null ? (String) puProperties.get(PersistenceProperties.KUNDERA_BATCH_SIZE) : null; if (batch_Size != null) { setBatchSize(Integer.valueOf(batch_Size)); } else { PersistenceUnitMetadata puMetadata = KunderaMetadataManager.getPersistenceUnitMetadata(kunderaMetadata, persistenceUnit); setBatchSize(puMetadata.getBatchSize()); } }
if (node.isInState(RemovedState.class)) delete(entity, rowKey); addRecords(columnWrapper, embeddableData, dataSet); addRecords(columnWrapper, embeddableData, dataSet); data.put(hTable, dataSet);