private String parseAndCreateCqlQuery(KunderaQuery kunderaQuery, EntityManagerFactory emf, EntityManager em,
String puName, Class entityClass, Integer maxResult)
{
Method getpd = null;
try
{
getpd = EntityManagerImpl.class.getDeclaredMethod("getPersistenceDelegator");
}
catch (Exception e)
{
log.error("Error during execution, Caused by : ",e.getMessage());
}
getpd.setAccessible(true);
PersistenceDelegator pd = getPersistenceDelegator(em, getpd);
KunderaMetadata kunderaMetadata = ((EntityManagerFactoryImpl) emf).getKunderaMetadataInstance();
CassQuery query = new CassQuery(kunderaQuery, pd, kunderaMetadata);
query.setMaxResults(maxResult);
EntityMetadata metadata = KunderaMetadataManager.getEntityMetadata(kunderaMetadata, entityClass);
Metamodel metaModel = KunderaMetadataManager.getMetamodel(kunderaMetadata, puName);
Client<CassQuery> client = pd.getClient(metadata);
String cqlQuery = query.onQueryOverCQL3(metadata, client, (MetamodelImpl) metaModel,
metadata.getRelationNames());
return cqlQuery;
}