Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/query/internal/taglib/TaglibDomainEntityQuerySpecVisitor.java')
-rw-r--r--jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/query/internal/taglib/TaglibDomainEntityQuerySpecVisitor.java156
1 files changed, 0 insertions, 156 deletions
diff --git a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/query/internal/taglib/TaglibDomainEntityQuerySpecVisitor.java b/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/query/internal/taglib/TaglibDomainEntityQuerySpecVisitor.java
deleted file mode 100644
index 30f53e458..000000000
--- a/jsf/plugins/org.eclipse.jst.jsf.common/src/org/eclipse/jst/jsf/common/metadata/query/internal/taglib/TaglibDomainEntityQuerySpecVisitor.java
+++ /dev/null
@@ -1,156 +0,0 @@
-/*******************************************************************************
- * Copyright (c) 2010 Oracle Corporation and others.
- * All rights reserved. This program and the accompanying materials
- * are made available under the terms of the Eclipse Public License v1.0
- * which accompanies this distribution, and is available at
- * http://www.eclipse.org/legal/epl-v10.html
- *
- * Contributors:
- * Oracle Corporation - initial API and implementation and/or initial documentation
- *******************************************************************************/
-
-package org.eclipse.jst.jsf.common.metadata.query.internal.taglib;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.eclipse.core.resources.IProject;
-import org.eclipse.jst.jsf.common.metadata.Entity;
-import org.eclipse.jst.jsf.common.metadata.Model;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataDomainContext;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.internal.IMetaDataModelManager;
-import org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelContext;
-import org.eclipse.jst.jsf.common.metadata.internal.MetaDataModelManagerFactory;
-import org.eclipse.jst.jsf.common.metadata.query.AbstractEntityQueryVisitor;
-import org.eclipse.jst.jsf.common.metadata.query.IResultSet;
-import org.eclipse.jst.jsf.common.metadata.query.internal.HierarchicalSearchControl;
-import org.eclipse.jst.jsf.common.metadata.query.internal.IHierarchicalEntityVisitor;
-import org.eclipse.jst.jsf.common.metadata.query.internal.IPredicateMatcher.MATCH;
-import org.eclipse.jst.jsf.common.metadata.query.internal.SearchControl;
-import org.eclipse.jst.jsf.common.metadata.query.internal.SimpleResultSet;
-
-/**
- * @author gekessle
- *
- */
-public class TaglibDomainEntityQuerySpecVisitor extends AbstractEntityQueryVisitor implements IHierarchicalEntityVisitor {
- private HierarchicalSearchControl _control;
- private ITaglibDomainEntityPredicateMatcher _matcher;
- private IMetaDataDomainContext _context;
- private List<Entity> _entityResults;
- private Model _initialEntity;
- private boolean _stop;
-
- /**
- * Constructor with default SearchControl
- * @param context
- * @param matcher
- */
- public TaglibDomainEntityQuerySpecVisitor(final IMetaDataDomainContext context, final ITaglibDomainEntityPredicateMatcher matcher) {
- this(context, matcher, new HierarchicalSearchControl());
- }
-
- /**
- * Constructor
- * @param context
- * @param matcher
- * @param control
- */
- public TaglibDomainEntityQuerySpecVisitor(final IMetaDataDomainContext context, final ITaglibDomainEntityPredicateMatcher matcher, final HierarchicalSearchControl control) {
- _matcher = matcher;
- _context = context;
- _control = control;
- }
-
- /**
- * @return Set of {@link Entity}s matching the entity query spec
- * Note: does not support wild card match of models yet.
- */
- public IResultSet<Entity> findEntities() {// throws InvalidQuerySpecification, MetaDataException {
- _matcher.reset();
-
- //first find model according to matcher...
- //DOES NOT SUPPORT WILD CARDS FOR MODEL URI YET!!!
- //we cannot support wild cards because models are loaded lazily; even their id's.
- final IMetaDataModelManager mgr = MetaDataModelManagerFactory.getMetaDataModelManagerInstance(getProject());
- if (mgr != null) {
- final Model model= mgr.getModel(getModelContext());
- findEntities(model);
- } else {
- //throw err?
- }
- return new SimpleResultSet<Entity>(getInternalEntityResults());
- }
-
- private void findEntities(final Model model) {
-
- if (model != null){
- _initialEntity = model;
- _initialEntity.accept(this);
- }
-
- }
-
- private List<Entity> getInternalEntityResults(){
- if (_entityResults == null){
- _entityResults = new ArrayList<Entity>();
- }
- return _entityResults;
- }
-
- private IMetaDataModelContext getModelContext() {
- return new MetaDataModelContext(getProject(), _context.getDomainId(), _matcher.getUri());
- }
-
- private IProject getProject() {
- return (IProject)_context.getAdapter(IProject.class);
- }
-
- public boolean visitEnter(final Entity entity) {
- _matcher.pushLevel();
- if (_matcher.getCurrentLevel() <= _matcher.getMaxLevel()) {
- final MATCH match = _matcher.matches(entity);
- if (match == MATCH.FULLY) {
- getInternalEntityResults().add(entity);
- checkShouldStopVisitingEntities();
- return false;
- }
- else if (match == MATCH.PARTIALLY) {
- return true;
- }
- }
- return false;
- }
-
- public boolean stopVisiting() {
- return _stop;
- }
-
- private void checkShouldStopVisitingEntities(){
- //implement how to set stop to signal to the entity accept() to skip visiting
- if (_stop == false
- && _control.getCountLimit()== getInternalEntityResults().size()
- && _control.getCountLimit() != SearchControl.COUNT_LIMIT_NONE )
-
- _stop = true;
- }
-
- public boolean visitLeave(Entity entity) {
-// _stop = _matcher.checkShouldStopVisitingEntities();
-// if (entity != _initialEntity)
-// _entityQuery.popLevel();
- if (entity != _initialEntity)
- _matcher.popLevel();
- return true;
- }
-
-
- /* (non-Javadoc)
- * @see org.eclipse.jst.jsf.common.metadata.query.IEntityVisitor#visit(org.eclipse.jst.jsf.common.metadata.Entity)
- */
- public void visit(final Entity key) {
- //do nothing... all work now done in visitEnter/visitLeave
- }
-
-}

Back to the top