@Override public void registerTable(EntityMetadata m, SparkClient sparkClient) { String conn = getConnectionString(m); Map<String, String> options = new HashMap<String, String>(); options.put("url", conn); options.put("dbtable", m.getTableName()); sparkClient.sqlContext.load("jdbc", options).registerTempTable(m.getTableName()); }
ResultIterator(MongoDBClient client, EntityMetadata m, BasicDBObject basicDBObject, BasicDBObject orderByClause, BasicDBObject keys, PersistenceDelegator pd, int fetchSize) { this.m = m; this.client = client; this.fetchSize = fetchSize; this.persistenceDelegator = pd; this.handler = new DefaultMongoDBDataHandler(); this.cursor = (DBCursor) client.getDBCursorInstance(basicDBObject, orderByClause, fetchSize, 0, keys, m.getTableName(), false); }
@Override public List<Object> findByRelation(String colName, Object colValue, Class entityClazz) { EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClazz); Object[] ids = findIdsByColumn(entityMetadata.getTableName(), colName, colValue); List<Object> resultSet = new ArrayList<Object>(); if (ids != null) { // just to insure uniqueness. for (Object id : new HashSet(Arrays.asList(ids))) { resultSet.add(find(entityClazz, id)); } } return resultSet; }
@Override protected void delete(Object entity, Object pKey) { EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); String id = generateJsonDocId(entityMetadata.getTableName(), pKey.toString()); bucket.remove(id); LOGGER.debug("Deleted document with ID : " + id + " from the " + bucket.name() + " Bucket"); }
@Override public List<Object> findByRelation(String colName, Object colValue, Class entityClazz) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClazz); CQLTranslator translator = new CQLTranslator(); String selectQuery = translator.SELECTALL_QUERY; selectQuery = StringUtils.replace(selectQuery, CQLTranslator.COLUMN_FAMILY, translator.ensureCase(new StringBuilder(), m.getTableName(), false).toString()); StringBuilder selectQueryBuilder = new StringBuilder(selectQuery); selectQueryBuilder.append(CQLTranslator.ADD_WHERE_CLAUSE); translator.buildWhereClause(selectQueryBuilder, colValue.getClass(), colName, colValue, CQLTranslator.EQ_CLAUSE, false); selectQueryBuilder.delete(selectQueryBuilder.lastIndexOf(CQLTranslator.AND_CLAUSE), selectQueryBuilder.length()); ResultSet rSet = (ResultSet) this.execute(selectQueryBuilder.toString(), null); return iterateAndReturn(rSet, m); }
public Object find(Class entityClass, Object key) { EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); String tableName = entityMetadata.getTableName(); Class fieldClass = entityMetadata.getIdAttribute().getJavaType(); String select_Query = SparkQueryConstants.SELECTALL_QUERY; select_Query = StringUtils.replace(select_Query, SparkQueryConstants.TABLE, tableName); StringBuilder builder = new StringBuilder(select_Query); builder.append(SparkQueryConstants.ADD_WHERE_CLAUSE); builder.append(dataHandler.getColumnName(entityMetadata.getIdAttribute())); builder.append(SparkQueryConstants.EQUALS); appendValue(builder, fieldClass, key); List result = this.executeQuery(builder.toString(), entityMetadata, null); return result.isEmpty() ? null : result.get(0); }
/** * Finds an entity from database. * * @param entityClass * the entity class * @param rowId * the row id * @return the object */ @Override public Object find(Class entityClass, Object rowId) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); StringBuilder builder = createSelectQuery(rowId, metadata, metadata.getTableName()); ResultSet rSet = this.execute(builder.toString(), null); List results = iterateAndReturn(rSet, metadata); return results.isEmpty() ? null : results.get(0); }
/** * Find GRIDFSDBFile. * * @param entityMetadata * the entity metadata * @param key * the key * @return the grid fsdb file */ private GridFSDBFile findGridFSDBFile(EntityMetadata entityMetadata, Object key) { String id = ((AbstractAttribute) entityMetadata.getIdAttribute()).getJPAColumnName(); DBObject query = new BasicDBObject("metadata." + id, key); KunderaGridFS gfs = new KunderaGridFS(mongoDb, entityMetadata.getTableName()); return gfs.findOne(query); }
@Override public void registerTable(EntityMetadata m, SparkClient sparkClient) { SparkContextJavaFunctions functions = CassandraJavaUtil.javaFunctions(sparkClient.sparkContext); Class clazz = m.getEntityClazz(); JavaRDD cassandraRowsRDD = functions.cassandraTable(m.getSchema(), m.getTableName(), CassandraJavaUtil.mapRowTo(clazz)); sparkClient.sqlContext.createDataFrame(cassandraRowsRDD, clazz).registerTempTable(m.getTableName()); }
@Override public JsonDocument getDocumentFromEntity(EntityMetadata entityMetadata, Object entity, KunderaMetadata kunderaMetadata) { MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata() .getMetamodel(entityMetadata.getPersistenceUnit()); Class entityClazz = entityMetadata.getEntityClazz(); EntityType entityType = metaModel.entity(entityClazz); Set<Attribute> attributes = entityType.getAttributes(); Iterator<Attribute> iterator = attributes.iterator(); JsonObject obj = iterateAndPopulateJsonObject(entity, iterator, entityMetadata.getTableName()); Object id = PropertyAccessorHelper.getId(entity, entityMetadata); return JsonDocument.create(entityMetadata.getTableName() + CouchbaseConstants.ID_SEPARATOR + id.toString(), obj); }
@Override protected void onPersist(EntityMetadata entityMetadata, Object entity, Object id, List<RelationHolder> relations) { String tableName = HBaseUtils.getHTableName(entityMetadata.getSchema(), entityMetadata.getTableName()); try { handler.writeData(tableName, entityMetadata, entity, id, relations, showQuery); } catch (IOException e) { throw new PersistenceException(e); } }
@Override protected void delete(Object entity, Object pKey) { EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); r.db(entityMetadata.getSchema()).table(entityMetadata.getTableName()).get(pKey).delete().run(connection); }
@Override public void delete(Object entity, Object pKey) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); MetamodelImpl metaModel = (MetamodelImpl) kunderaMetadata.getApplicationMetadata().getMetamodel(m.getPersistenceUnit()); AbstractManagedType managedType = (AbstractManagedType) metaModel.entity(m.getEntityClazz()); // For secondary tables. List<String> secondaryTables = ((DefaultEntityAnnotationProcessor) managedType.getEntityAnnotation()).getSecondaryTablesName(); secondaryTables.add(m.getTableName()); for (String tableName : secondaryTables) { this.execute(onDeleteQuery(m, tableName, metaModel, pKey), null); } }
@Override protected void onPersist(EntityMetadata entityMetadata, Object entity, Object id, List<RelationHolder> rlHolders) { if (!isUpdate) { r.db(entityMetadata.getSchema()).table(entityMetadata.getTableName()) .insert(populateRmap(entityMetadata, entity)).run(connection); } else { r.db(entityMetadata.getSchema()).table(entityMetadata.getTableName()) .update(populateRmap(entityMetadata, entity)).run(connection); } }
@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 Object find(Class entityClass, Object key) { EntityMetadata entityMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); Object e = r.db(entityMetadata.getSchema()).table(entityMetadata.getTableName()).get(key).run(connection, entityClass); PropertyAccessorHelper.setId(e, entityMetadata, key); return e; }
@Override public void delete(Object entity, Object pKey) { if (entity == null) return; EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); DummySchema schema = DummyDatabase.INSTANCE.getSchema(m.getSchema()); if (schema == null) return; DummyTable table = schema.getTable(m.getTableName()); if (table == null) return; table.removeRecord(pKey); }
@Override public void delete(Object entity, Object pKey) { if (entity == null) return; EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entity.getClass()); DummySchema schema = DummyDatabase.INSTANCE.getSchema(m.getSchema()); if (schema == null) return; DummyTable table = schema.getTable(m.getTableName()); if (table == null) return; table.removeRecord(pKey); }
@Override public Object find(Class entityClass, Object key) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); DummySchema schema = DummyDatabase.INSTANCE.getSchema(m.getSchema()); if (schema == null) return null; DummyTable table = schema.getTable(m.getTableName()); if (table == null) return null; return table.getRecord(key); }
@Override public Object find(Class entityClass, Object key) { EntityMetadata m = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass); DummySchema schema = DummyDatabase.INSTANCE.getSchema(m.getSchema()); if (schema == null) return null; DummyTable table = schema.getTable(m.getTableName()); if (table == null) return null; return table.getRecord(key); }