public void add(JpqlEntityModel entity) { if (entity == null) throw new NullPointerException("No entity passed"); entities.put(entity.getName(), entity); }
public List<JpqlEntityModel> findEntitiesStartingWith(String lastWord) { List<JpqlEntityModel> result = entities.values().stream() .filter(entity -> entity.getName().startsWith(lastWord)) .collect(Collectors.toList()); return result; }
public String getVariableNameByEntity(String entityName) { if (entityName == null) throw new NullPointerException("No entity name passed"); for (Map.Entry<String, JpqlEntityModel> entry : entityVariableName2entity.entrySet()) { if (entityName.equals(entry.getValue().getName())) { return entry.getKey(); } } return parent == null ? null : parent.getVariableNameByEntity(entityName); } }
protected void resolveEntityNames(Set<String> entityNames, PathNode node, DomainModel model, QueryVariableContext queryVariableContext) { List<Pointer> pointers = node.resolveTransitionalPointers(model, queryVariableContext); pointers.stream().filter(pointer -> pointer instanceof HasEntityPointer).forEach(pointer -> { JpqlEntityModel entityModel = ((HasEntityPointer) pointer).getEntity(); if (entityModel != null) { entityNames.add(entityModel.getName()); } }); }
protected void resolveEntityNames(Set<String> entityNames, JoinVariableNode node, DomainModel model, QueryVariableContext queryVariableContext) { JpqlEntityModel entityModel = queryVariableContext.getEntityByVariableName(node.getVariableName()); if (entityModel != null) { entityNames.add(entityModel.getName()); } } }
private HintResponse hintEntityName(String lastWord) { List<JpqlEntityModel> matchingEntities = model.findEntitiesStartingWith(lastWord); List<Option> options = new ArrayList<>(); for (JpqlEntityModel entity : matchingEntities) { options.add(new Option(entity.getName(), entity.getUserFriendlyName())); } return new HintResponse(options, lastWord); }
public String getMainSelectedEntityName(PathNode pathNode) { if (pathNode == null) { throw new RuntimeException(format("Unable to find selected entity name [%s]", StringUtils.strip(queryTree.getQueryString()))); } QueryVariableContext variableContext = queryTree.getQueryVariableContext(); JpqlEntityModel entity = variableContext.getEntityByVariableName(pathNode.getEntityVariableName()); if (entity == null) { throw new RuntimeException(format("Unable to find selected entity name [%s]", StringUtils.strip(queryTree.getQueryString()))); } return entity.getName(); }
String entityName = child0.token.getText(); JpqlEntityModel entity = model.getEntityByName(entityName); effectiveEntityName = entity.getName(); stack.peekLast().addEntityVariable(variableName, entity); } catch (UnknownEntityNameException e) {
@Override public List<QueryPath> getQueryPaths() { List<QueryPath> queryPaths = new ArrayList<>(); QueryVariableContext variableContext = getTree().getQueryVariableContext(); PathNodeFinder finder = getTree().visit(new PathNodeFinder()); for (PathNode node : finder.getSelectedPathNodes()) { JpqlEntityModel model = variableContext.getEntityByVariableNameHierarchically(node.getEntityVariableName()); QueryPath queryPath = new QueryPath(model.getName(), node.getEntityVariableName(), node.asPathString(), true); queryPaths.add(queryPath); } for (PathNode node : finder.getOtherPathNodes()) { JpqlEntityModel model = variableContext.getEntityByVariableNameHierarchically(node.getEntityVariableName()); QueryPath queryPath = new QueryPath(model.getName(), node.getEntityVariableName(), node.asPathString(), false); queryPaths.add(queryPath); } return queryPaths; }
if (queryAnalyzer.isVariablePathNode(pathNode)) { JpqlEntityModel entity = variableContext.getEntityByVariableName(pathNode.getEntityVariableName()); if (entity != null && entity.getName() != null && identificationVariable != null) { if (!StringUtils.equalsIgnoreCase(pathNode.getEntityVariableName(), identificationVariable.getVariableName())) { return new EntityNameAndPath(entity.getName(), pathNode.getEntityVariableName()); return entity != null && entity.getName() != null ? new EntityNameAndPath(entity.getName(), entityPath, collectionSelect) : null;