/** * Returns whether the attribute of given name and type is the single identifier attribute of the given entity. * * @param entity must not be {@literal null}. * @param name must not be {@literal null}. * @param attributeType must not be {@literal null}. * @return */ public boolean isSingleIdAttribute(Class<?> entity, String name, Class<?> attributeType) { return metamodel.getEntities().stream() // .filter(it -> entity.equals(it.getJavaType())) // .findFirst() // .flatMap(it -> getSingularIdAttribute(it)) // .filter(it -> it.getJavaType().equals(attributeType)) // .map(it -> it.getName().equals(name)) // .orElse(false); }
if (attribute.getJavaType().equals(String.class)) {
@Override @SuppressWarnings({ "unchecked" }) public <Y> Path<Y> get(SingularAttribute<? super X, Y> attribute) { if ( ! canBeDereferenced() ) { throw illegalDereference(); } SingularAttributePath<Y> path = (SingularAttributePath<Y>) resolveCachedAttributePath( attribute.getName() ); if ( path == null ) { path = new SingularAttributePath<Y>( criteriaBuilder(), attribute.getJavaType(), getPathSourceForSubPaths(), attribute ); registerAttributePath( attribute.getName(), path ); } return path; }
@Override public <Y> SingularAttribute<X, Y> getDeclaredId(Class<Y> paramClass) { if (idAttribute != null) { if (idAttribute.getJavaType().equals(paramClass) && !isIdClass) { return (SingularAttribute<X, Y>) idAttribute; } } onError(); return null; }
@Override public SimpleQuery<T> select(SingularAttribute... attrs) { for (int i=0; i<attrs.length; i++) { _selects.add(new AttrInfo(attrs[i], attrs[i].getJavaType())); } return this; }
private static void setId(Object entity, Object value, EntityMetadata m) { value = PropertyAccessorHelper.fromSourceToTargetClass(m.getIdAttribute().getJavaType(), value.getClass(), value); PropertyAccessorHelper.setId(entity, m, value); } }
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); }
Object generatedId = ((AutoGenerator)autogenerator).generate(client, m.getIdAttribute().getJavaType().getSimpleName()); try generatedId = PropertyAccessorHelper.fromSourceToTargetClass(m.getIdAttribute().getJavaType(), generatedId.getClass(), generatedId); PropertyAccessorHelper.setId(e, m, generatedId); log.error("Unknown data type for ids : " + m.getIdAttribute().getJavaType()); throw new KunderaException("Unknown data type for ids : " + m.getIdAttribute().getJavaType(), iae);
keyValue.getSequenceDiscriptor(), client, m.getIdAttribute().getJavaType().getSimpleName()); try generatedId = PropertyAccessorHelper.fromSourceToTargetClass(m.getIdAttribute().getJavaType(), generatedId.getClass(), generatedId); PropertyAccessorHelper.setId(e, m, generatedId); log.error("Unknown integral data type for ids : " + m.getIdAttribute().getJavaType()); throw new KunderaException("Unknown integral data type for ids : " + m.getIdAttribute().getJavaType(), iae);
(ClientBase) client, m.getIdAttribute().getJavaType().getSimpleName()); try generatedId = PropertyAccessorHelper.fromSourceToTargetClass(m.getIdAttribute().getJavaType(), generatedId.getClass(), generatedId); PropertyAccessorHelper.setId(e, m, generatedId); log.error("Unknown integral data type for ids : " + m.getIdAttribute().getJavaType()); throw new KunderaException("Unknown integral data type for ids : " + m.getIdAttribute().getJavaType(), iae);
List<SuperColumn> superColumns, ByteBuffer key) { Object e = null; Object id = PropertyAccessorHelper.getObject(m.getIdAttribute().getJavaType(), key.array());
@Override public <Y> SingularAttribute<? super X, Y> getId(Class<Y> paramClass) { if (idAttribute != null) { if (idAttribute.getJavaType().equals(paramClass) && !isIdClass) { return (SingularAttribute<? super X, Y>) idAttribute; } else { onError(); } } else { AbstractIdentifiableType<? super X> superType = (AbstractIdentifiableType<? super X>) getSupertype(); if (superType != null) { return superType.getId(paramClass); } } onError(); return null; }
/** * Fetches Row keys from a {@link List} of {@link KeySlice}. * * @param keySlices the key slices * @param metadata the metadata * @return the row keys */ public static List<Object> getRowKeys(List<KeySlice> keySlices, EntityMetadata metadata) { PropertyAccessor<?> accessor = PropertyAccessorFactory.getPropertyAccessor((Field) metadata.getIdAttribute() .getJavaMember()); List<Object> rowKeys = new ArrayList<Object>(); for (KeySlice keySlice : keySlices) { byte[] key = keySlice.getKey(); Object rowKey = accessor.fromBytes(metadata.getIdAttribute().getJavaType(), key); rowKeys.add(rowKey); } return rowKeys; }
@Override public Object[] findIdsByColumn(String schemaName, String tableName, String pKeyName, String columnName, Object columnValue, Class entityClazz) { EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClazz); List<Object> primaryKeys = new ArrayList<Object>(); DBCollection dbCollection = mongoDb.getCollection(tableName); BasicDBObject query = new BasicDBObject(); query.put(columnName, MongoDBUtils.populateValue(columnValue, columnValue.getClass())); DBCursor cursor = dbCollection.find(query); KunderaCoreUtils.printQuery("Find id by column:" + query, showQuery); DBObject fetchedDocument = null; while (cursor.hasNext()) { fetchedDocument = cursor.next(); Object primaryKey = fetchedDocument.get(pKeyName); primaryKey = MongoDBUtils.getTranslatedObject(primaryKey, primaryKey.getClass(), metadata.getIdAttribute() .getJavaType()); primaryKeys.add(primaryKey); } if (primaryKeys != null && !primaryKeys.isEmpty()) { return primaryKeys.toArray(new Object[0]); } return null; }
private Object getObjectFromByteArray(EntityType entityType, byte[] value, String jpaColumnName, EntityMetadata m) { if (jpaColumnName != null) { String fieldName = m.getFieldName(jpaColumnName); if (fieldName != null) { Attribute attribute = fieldName != null ? entityType.getAttribute(fieldName) : null; EntityMetadata relationMetadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, attribute.getJavaType()); Object colValue = PropertyAccessorHelper.getObject(relationMetadata.getIdAttribute().getJavaType(), (byte[]) value); return colValue; } } log.warn("No value found for column {}, returning null.", jpaColumnName); return null; }
conn.remove_counter((CassandraUtilities.toBytes(pKey, metadata.getIdAttribute().getJavaType())), path, consistencyLevel);
Object colValue = PropertyAccessorHelper.getObject(relationMetadata.getIdAttribute().getJavaType(), value); return colValue;
/** * From bytes. * * @param m * the m * @param metaModel * the meta model * @param b * the b * @return the object */ public static Object fromBytes(EntityMetadata m, MetamodelImpl metaModel, byte[] b) { Class idFieldClass = m.getIdAttribute().getJavaType(); if (metaModel.isEmbeddable(m.getIdAttribute().getBindableJavaType())) { return fromBytes(b, String.class); } return fromBytes(b, idFieldClass); }
/** * From bytes. * * @param m * the m * @param metaModel * the meta model * @param b * the b * @return the object */ public static Object fromBytes(EntityMetadata m, MetamodelImpl metaModel, byte[] b) { Class idFieldClass = m.getIdAttribute().getJavaType(); if (metaModel.isEmbeddable(m.getIdAttribute().getBindableJavaType())) { return fromBytes(b, String.class); } return fromBytes(b, idFieldClass); }
/** * Populate entity from slice. * * @param m the m * @param relationNames the relation names * @param isWrapReq the is wrap req * @param e the e * @param columnOrSuperColumnsFromRow the column or super columns from row * @return the object * @throws CharacterCodingException the character coding exception */ private Object populateEntityFromSlice(EntityMetadata m, List<String> relationNames, boolean isWrapReq, Object e, Map<ByteBuffer, List<ColumnOrSuperColumn>> columnOrSuperColumnsFromRow) throws CharacterCodingException { ThriftDataResultHelper dataGenerator = new ThriftDataResultHelper(); for (ByteBuffer key : columnOrSuperColumnsFromRow.keySet()) { Object id = PropertyAccessorHelper.getObject(m.getIdAttribute().getJavaType(), key.array()); ThriftRow tr = new ThriftRow(); tr.setColumnFamilyName(m.getTableName()); tr.setId(id); tr = dataGenerator.translateToThriftRow(columnOrSuperColumnsFromRow, m.isCounterColumnType(), m.getType(), tr); e = populateEntity(tr, m, e, relationNames, isWrapReq); } return e; } }