@Override public boolean apply(Pattern pattern) { final String name = CorePatternLanguageHelper.getFullyQualifiedName(pattern); return !pattern.eIsProxy() && !"".equals(name) && !patternMap.containsKey(name); } }));
/** * Returns the name of the container package of the selected pattern * @return a name of the pattern; never null, but may be empty string */ public static String getPackageName(Pattern pattern) { if(pattern == null || pattern.eIsProxy()) { return ""; } PatternModel patternModel = (PatternModel) pattern.eContainer(); return (patternModel == null) ? null : patternModel.getPackageName(); }
public IQuerySpecification<? extends IncQueryMatcher<? extends IPatternMatch>> getOrCreateSpecification( Pattern pattern, List<IQuerySpecification<?>> createdPatternList, boolean skipPatternValidation) throws IncQueryException { Preconditions.checkArgument(pattern != null && !pattern.eIsProxy(), "Cannot create specification from a null pattern"); String fqn = CorePatternLanguageHelper.getFullyQualifiedName(pattern); Preconditions.checkArgument(fqn != null && !"".equals(fqn), "Pattern name cannot be empty"); Preconditions.checkArgument(!patternNameMap.containsKey(fqn) || pattern.equals(patternNameMap.get(fqn)), "This builder already contains a different pattern with the fqn %s of the newly added pattern.", fqn); IQuerySpecification<?> specification = getSpecification(pattern); if (specification == null) { try { specification = buildSpecification(pattern, skipPatternValidation, createdPatternList); } catch (QueryInitializationException e) { throw new IncQueryException(e); } } return specification; }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Pattern getPattern() { if (pattern != null && pattern.eIsProxy()) { InternalEObject oldPattern = (InternalEObject)pattern; pattern = (Pattern)eResolveProxy(oldPattern); if (pattern != oldPattern) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, EMFPatternLanguagePackage.PATTERN_IMPORT__PATTERN, oldPattern, pattern)); } } return pattern; }
/** * <!-- begin-user-doc --> * <!-- end-user-doc --> * @generated */ public Pattern getPatternRef() { if (patternRef != null && patternRef.eIsProxy()) { InternalEObject oldPatternRef = (InternalEObject)patternRef; patternRef = (Pattern)eResolveProxy(oldPatternRef); if (patternRef != oldPatternRef) { if (eNotificationRequired()) eNotify(new ENotificationImpl(this, Notification.RESOLVE, PatternLanguagePackage.PATTERN_CALL__PATTERN_REF, oldPatternRef, patternRef)); } } return patternRef; }
Map<String, Pattern> newPatternsByName = new HashMap<String, Pattern>(); for (Pattern current : newPatterns) { if (current == null || current.eIsProxy()) { nullPatternFound = true; problemsByPattern.put(current, new PProblem("Null/proxy pattern value"));