You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@usergrid.apache.org by sn...@apache.org on 2014/01/28 23:21:16 UTC
[06/96] [abbrv] [partial] Change package namespace to
org.apache.usergrid
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/OrderByIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/OrderByIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/OrderByIterator.java
deleted file mode 100644
index 1c1bc31..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/OrderByIterator.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Map;
-import java.util.Set;
-import java.util.TreeSet;
-import java.util.UUID;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.usergrid.persistence.Entity;
-import org.usergrid.persistence.EntityManager;
-import org.usergrid.persistence.EntityPropertyComparator;
-import org.usergrid.persistence.Query;
-import org.usergrid.persistence.Query.SortPredicate;
-import org.usergrid.persistence.cassandra.CursorCache;
-import org.usergrid.persistence.query.ir.QuerySlice;
-
-import org.apache.commons.collections.comparators.ComparatorChain;
-
-import me.prettyprint.cassandra.serializers.UUIDSerializer;
-
-
-/**
- * 1) Take a result set iterator as the child 2) Iterate only over candidates and create a cursor from the candidates
- *
- * @author tnine
- */
-
-public class OrderByIterator extends MergeIterator {
-
- private static final UUIDSerializer UUID_SER = new UUIDSerializer();
-
- private static final String NAME_UUID = "uuid";
- private static final Logger logger = LoggerFactory.getLogger( OrderByIterator.class );
- private final QuerySlice slice;
- private final ResultIterator candidates;
- private final ComparatorChain subSortCompare;
- private final List<String> secondaryFields;
- private final EntityManager em;
-
- //our last result from in memory sorting
- private SortedEntitySet entries;
-
-
- /**
- * @param pageSize
- */
- public OrderByIterator( QuerySlice slice, List<Query.SortPredicate> secondary, ResultIterator candidates,
- EntityManager em, int pageSize ) {
- super( pageSize );
- this.slice = slice;
- this.em = em;
- this.candidates = candidates;
- this.subSortCompare = new ComparatorChain();
- this.secondaryFields = new ArrayList<String>( 1 + secondary.size() );
-
- //add the sort of the primary column
- this.secondaryFields.add( slice.getPropertyName() );
- this.subSortCompare
- .addComparator( new EntityPropertyComparator( slice.getPropertyName(), slice.isReversed() ) );
-
- for ( SortPredicate sort : secondary ) {
- this.subSortCompare.addComparator( new EntityPropertyComparator( sort.getPropertyName(),
- sort.getDirection() == Query.SortDirection.DESCENDING ) );
- this.secondaryFields.add( sort.getPropertyName() );
- }
-
- //do uuid sorting last, this way if all our previous sorts are equal, we'll have a reproducible sort order for
- // paging
- this.secondaryFields.add( NAME_UUID );
- this.subSortCompare.addComparator( new EntityPropertyComparator( NAME_UUID, false ) );
- }
-
-
- @Override
- protected Set<ScanColumn> advance() {
-
- ByteBuffer cursor = slice.getCursor();
-
- UUID minEntryId = null;
-
- if ( cursor != null ) {
- minEntryId = UUID_SER.fromByteBuffer( cursor );
- }
-
- entries = new SortedEntitySet( subSortCompare, em, secondaryFields, pageSize, minEntryId );
-
- /**
- * keep looping through our peek iterator. We need to inspect each forward page to ensure we have performed a
- * seek to the end of our primary range. Otherwise we need to keep aggregating. I.E if the value is a boolean
- * and we order by "true
- * asc, timestamp desc" we must load every entity that has the value "true" before sub sorting,
- * then drop all values that fall out of the sort.
- */
- while ( candidates.hasNext() ) {
-
-
- for ( ScanColumn id : candidates.next() ) {
- entries.add( id );
- }
-
- entries.load();
- }
-
-
- return entries.toIds();
- }
-
-
- @Override
- protected void doReset() {
- // no op
- }
-
-
- @Override
- public void finalizeCursor( CursorCache cache, UUID lastValue ) {
- int sliceHash = slice.hashCode();
-
- ByteBuffer bytes = UUID_SER.toByteBuffer( lastValue );
-
- if ( bytes == null ) {
- return;
- }
-
- cache.setNextCursor( sliceHash, bytes );
- }
-
-
- /** A Sorted set with a max size. When a new entry is added, the max is removed */
- public static final class SortedEntitySet extends TreeSet<Entity> {
-
- private final int maxSize;
- private final Map<UUID, ScanColumn> cursorVal = new HashMap<UUID, ScanColumn>();
- private final EntityManager em;
- private final List<String> fields;
- private final Entity minEntity;
- private final Comparator<Entity> comparator;
-
-
- public SortedEntitySet( Comparator<Entity> comparator, EntityManager em, List<String> fields, int maxSize,
- UUID minEntityId ) {
- super( comparator );
- this.maxSize = maxSize;
- this.em = em;
- this.fields = fields;
- this.comparator = comparator;
- this.minEntity = getPartialEntity( minEntityId );
- }
-
-
- @Override
- public boolean add( Entity entity ) {
-
- // don't add this entity. We get it in our scan range, but it's <= the minimum value that
- //should be allowed in the result set
- if ( minEntity != null && comparator.compare( entity, minEntity ) <= 0 ) {
- return false;
- }
-
- boolean added = super.add( entity );
-
- while ( size() > maxSize ) {
- //remove our last element, we're over size
- Entity e = this.pollLast();
- //remove it from the cursors as well
- cursorVal.remove( e.getUuid() );
- }
-
- return added;
- }
-
-
- /** add the id to be loaded, and the dynamiccomposite column that belongs with it */
- public void add( ScanColumn col ) {
- cursorVal.put( col.getUUID(), col );
- }
-
-
- private Entity getPartialEntity( UUID minEntityId ) {
- List<Entity> entities;
-
- try {
- entities = em.getPartialEntities( Collections.singletonList( minEntityId ), fields );
- }
- catch ( Exception e ) {
- logger.error( "Unable to load partial entities", e );
- throw new RuntimeException( e );
- }
-
- if ( entities == null || entities.size() == 0 ) {
- return null;
- }
-
- return entities.get( 0 );
- }
-
-
- public void load() {
- try {
- for ( Entity e : em.getPartialEntities( cursorVal.keySet(), fields ) ) {
- add( e );
- }
- }
- catch ( Exception e ) {
- logger.error( "Unable to load partial entities", e );
- throw new RuntimeException( e );
- }
- }
-
-
- /** Turn our sorted entities into a set of ids */
- public Set<ScanColumn> toIds() {
- Iterator<Entity> itr = iterator();
-
- Set<ScanColumn> columns = new LinkedHashSet<ScanColumn>( this.size() );
-
- while ( itr.hasNext() ) {
-
- UUID id = itr.next().getUuid();
-
- columns.add( cursorVal.get( id ) );
- }
-
- return columns;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultIterator.java
deleted file mode 100644
index 5b3e666..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultIterator.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.util.Iterator;
-import java.util.Set;
-import java.util.UUID;
-
-import org.usergrid.persistence.cassandra.CursorCache;
-
-
-/**
- * Interface for iterating slice results per node. This is to be used to iterate and join or intersect values Each
- * iterator element is a set. Each set size is determined by the underlying implementation. When no sets of uuids are
- * left the iterator should fail the next statement. Note that you should not rely on the returned set being exactly
- * the same size as the specified page size. Valid sets can be returned with size >= that of the set value in the
- * underlying implementation
- *
- * @author tnine
- */
-public interface ResultIterator extends Iterable<Set<ScanColumn>>, Iterator<Set<ScanColumn>> {
-
-
- /** Reset this iterator to the start to begin iterating again */
- public void reset();
-
- /** Finalize the cursor for this results. Pass in the uuid of the last entity loaded. */
- public void finalizeCursor( CursorCache cache, UUID lastValue );
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoader.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoader.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoader.java
deleted file mode 100644
index d7a925a..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoader.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.util.List;
-
-import org.usergrid.persistence.Results;
-
-
-/** @author tnine */
-public interface ResultsLoader {
-
- /** Load results from the list of uuids. Should return a Results entity where the query cursor can be set */
- public Results getResults( List<ScanColumn> entityIds ) throws Exception;
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoaderFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoaderFactory.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoaderFactory.java
deleted file mode 100644
index a6ab352..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ResultsLoaderFactory.java
+++ /dev/null
@@ -1,21 +0,0 @@
-package org.usergrid.persistence.query.ir.result;
-
-
-import org.usergrid.persistence.EntityManager;
-import org.usergrid.persistence.Query;
-import org.usergrid.persistence.Results;
-
-
-/**
- *
- * @author: tnine
- *
- */
-public interface ResultsLoaderFactory {
-
- /**
- * Get the results loaded that will load all Ids given the results level. The original query and the entity manager
- * may be needed to load these results
- */
- public ResultsLoader getResultsLoader( EntityManager em, Query query, Results.Level level );
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumn.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumn.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumn.java
deleted file mode 100644
index 6d20f92..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumn.java
+++ /dev/null
@@ -1,16 +0,0 @@
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.UUID;
-
-
-/** An interface that represents a column */
-public interface ScanColumn {
-
- /** Get the uuid from the column */
- public UUID getUUID();
-
- /** Get the cursor value of this column */
- public ByteBuffer getCursorValue();
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumnTransformer.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumnTransformer.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumnTransformer.java
deleted file mode 100644
index fc9b529..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/ScanColumnTransformer.java
+++ /dev/null
@@ -1,23 +0,0 @@
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.List;
-import java.util.UUID;
-
-
-/** Simple utility to convert Scan Columns collections to lists */
-public class ScanColumnTransformer {
-
- public static List<UUID> getIds( Collection<ScanColumn> cols ) {
-
- List<UUID> ids = new ArrayList<UUID>( cols.size() );
-
- for ( ScanColumn col : cols ) {
- ids.add( col.getUUID() );
- }
-
- return ids;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SecondaryIndexSliceParser.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SecondaryIndexSliceParser.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SecondaryIndexSliceParser.java
deleted file mode 100644
index f003c96..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SecondaryIndexSliceParser.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.UUID;
-
-import me.prettyprint.hector.api.beans.DynamicComposite;
-
-
-/**
- * Parser for reading and writing secondary index composites
- *
- * @author tnine
- */
-public class SecondaryIndexSliceParser implements SliceParser {
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.ir.result.SliceParser#parse(java.nio.ByteBuffer)
- */
- @Override
- public ScanColumn parse( ByteBuffer buff ) {
- DynamicComposite composite = DynamicComposite.fromByteBuffer( buff.duplicate() );
-
- return new SecondaryIndexColumn( ( UUID ) composite.get( 2 ), composite.get( 1 ), buff );
- }
-
-
- public static class SecondaryIndexColumn extends AbstractScanColumn {
-
- private final Object value;
-
-
- public SecondaryIndexColumn( UUID uuid, Object value, ByteBuffer buff ) {
- super( uuid, buff );
- this.value = value;
- }
-
-
- /** Get the value from the node */
- public Object getValue() {
- return this.value;
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceIterator.java
deleted file mode 100644
index 6cc833d..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceIterator.java
+++ /dev/null
@@ -1,251 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.Iterator;
-import java.util.LinkedHashMap;
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.UUID;
-
-import org.slf4j.Logger;
-import org.slf4j.LoggerFactory;
-import org.usergrid.persistence.cassandra.CursorCache;
-import org.usergrid.persistence.cassandra.index.IndexScanner;
-import org.usergrid.persistence.exceptions.QueryIterationException;
-import org.usergrid.persistence.query.ir.QuerySlice;
-
-import me.prettyprint.hector.api.beans.HColumn;
-
-
-/**
- * An iterator that will take all slices and order them correctly
- *
- * @author tnine
- */
-public class SliceIterator implements ResultIterator {
-
- private static final Logger logger = LoggerFactory.getLogger( SliceIterator.class );
-
- private final LinkedHashMap<UUID, ScanColumn> cols;
- private final QuerySlice slice;
- private final SliceParser parser;
- private final IndexScanner scanner;
- private final int pageSize;
- private final boolean skipFirst;
-
- /**
- * Pointer to the uuid set until it's returned
- */
- private Set<ScanColumn> lastResult;
-
- /**
- * The pointer to the last set of parsed columns
- */
- private Set<ScanColumn> parsedCols;
-
- /**
- * counter that's incremented as we load pages. If pages loaded = 1 when reset, we don't have to reload from cass
- */
- private int pagesLoaded = 0;
-
- /**
- * Pointer to the last column we parsed
- */
- private ScanColumn last;
-
-
- /**
- * @param scanner The scanner to use to read the cols
- * @param slice The slice used in the scanner
- * @param parser The parser for the scanner results
- * @param skipFirst True if the first record should be skipped, used with cursors
- */
- public SliceIterator( QuerySlice slice, IndexScanner scanner, SliceParser parser, boolean skipFirst ) {
- this.slice = slice;
- this.parser = parser;
- this.scanner = scanner;
- this.skipFirst = skipFirst;
- this.pageSize = scanner.getPageSize();
- this.cols = new LinkedHashMap<UUID, ScanColumn>( this.pageSize );
- this.parsedCols = new LinkedHashSet<ScanColumn>( this.pageSize );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.lang.Iterable#iterator()
- */
- @Override
- public Iterator<Set<ScanColumn>> iterator() {
- return this;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.util.Iterator#hasNext()
- */
- @Override
- public boolean hasNext() {
- if ( lastResult == null ) {
- return load();
- }
-
- return true;
- }
-
-
- private boolean load() {
- if ( !scanner.hasNext() ) {
- return false;
- }
-
- Iterator<HColumn<ByteBuffer, ByteBuffer>> results = scanner.next().iterator();
-
- cols.clear();
-
- /**
- * Skip the first value, it's from the previous cursor
- */
- if ( skipFirst && pagesLoaded == 0 && results.hasNext() ) {
- results.next();
- }
-
- parsedCols.clear();
-
- while ( results.hasNext() ) {
-
- ByteBuffer colName = results.next().getName().duplicate();
-
- ScanColumn parsed = parser.parse( colName );
-
- //skip this value, the parser has discarded it
- if ( parsed == null ) {
- continue;
- }
-
- last = parsed;
- cols.put( parsed.getUUID(), parsed );
- parsedCols.add( parsed );
- }
-
-
- pagesLoaded++;
-
- lastResult = parsedCols;
-
- return lastResult != null && lastResult.size() > 0;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.util.Iterator#next()
- */
- @Override
- public Set<ScanColumn> next() {
- Set<ScanColumn> temp = lastResult;
- lastResult = null;
- return temp;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see java.util.Iterator#remove()
- */
- @Override
- public void remove() {
- throw new UnsupportedOperationException( "Remove is not supported" );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.usergrid.persistence.query.ir.result.ResultIterator#reset()
- */
- @Override
- public void reset() {
- // Do nothing, we'll just return the first page again
- if ( pagesLoaded == 1 ) {
- lastResult = parsedCols;
- return;
- }
- scanner.reset();
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.ir.result.ResultIterator#finalizeCursor()
- */
- @Override
- public void finalizeCursor( CursorCache cache, UUID lastLoaded ) {
- final int sliceHash = slice.hashCode();
-
- ByteBuffer bytes = null;
-
- ScanColumn col = cols.get( lastLoaded );
-
-
- //the column came from the current page
- if ( col != null ) {
- bytes = col.getCursorValue();
- }
- else {
-
- //check if we reached the end of our iterator. If we did, set the last value into the cursor. Otherwise
- //this is a bug
- if ( scanner.hasNext() ) {
- logger.error(
- "An iterator attempted to access a slice that was not iterated over. This will result in the" +
- " cursor construction failing" );
- throw new QueryIterationException(
- "An iterator attempted to access a slice that was not iterated over. This will result in the" +
- " cursor construction failing" );
- }
-
- final ByteBuffer sliceCursor = slice.getCursor();
-
- //we've never loaded anything, just re-use the existing slice
- if (last == null && sliceCursor != null ) {
- bytes = sliceCursor;
- }
-
- //use the last column we loaded. This way our scan returns nothing next time since start == finish
- else if(last != null) {
- bytes = last.getCursorValue();
- }
- }
-
-
- if ( bytes == null ) {
- return;
- }
-
- cache.setNextCursor( sliceHash, bytes );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceParser.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceParser.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceParser.java
deleted file mode 100644
index 9fd3c71..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SliceParser.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-
-
-/**
- * Interface to parse and compare range slices
- *
- * @author tnine
- */
-public interface SliceParser {
-
- /** Parse the slice and return it's parse type. If null is returned, the column should be considered discarded */
- public ScanColumn parse( ByteBuffer buff );
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/StaticIdIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/StaticIdIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/StaticIdIterator.java
deleted file mode 100644
index 6ca1e89..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/StaticIdIterator.java
+++ /dev/null
@@ -1,66 +0,0 @@
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.Collections;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.UUID;
-
-import org.usergrid.persistence.cassandra.CursorCache;
-
-
-/** Simple iterator that just returns UUIDs that are set into it */
-public class StaticIdIterator implements ResultIterator {
-
- private final Set<ScanColumn> ids;
-
- private boolean returnedOnce = false;
-
-
- /**
- *
- */
- public StaticIdIterator( UUID id ) {
- final ScanColumn col = new UUIDIndexSliceParser.UUIDColumn( id, ByteBuffer.allocate( 0 ) );
-
- ids = Collections.singleton( col );
- }
-
-
- @Override
- public void reset() {
- //no op
- }
-
-
- @Override
- public void finalizeCursor( CursorCache cache, UUID lastValue ) {
- //no cursor, it's a static list
- }
-
-
- @Override
- public Iterator<Set<ScanColumn>> iterator() {
- return this;
- }
-
-
- @Override
- public boolean hasNext() {
- return !returnedOnce;
- }
-
-
- @Override
- public Set<ScanColumn> next() {
- returnedOnce = true;
- return ids;
- }
-
-
- @Override
- public void remove() {
- throw new UnsupportedOperationException( "This iterator does not support remove" );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SubtractionIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SubtractionIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SubtractionIterator.java
deleted file mode 100644
index b654496..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/SubtractionIterator.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.util.LinkedHashSet;
-import java.util.Set;
-import java.util.UUID;
-
-import org.usergrid.persistence.cassandra.CursorCache;
-
-import com.google.common.collect.Sets;
-
-
-/**
- * Simple iterator to perform Unions
- *
- * @author tnine
- */
-public class SubtractionIterator extends MergeIterator {
-
- private ResultIterator keepIterator;
- private ResultIterator subtractIterator;
-
-
- public SubtractionIterator( int pageSize ) {
- super( pageSize );
- }
-
-
- /** @param subtractIterator the subtractIterator to set */
- public void setSubtractIterator( ResultIterator subtractIterator ) {
- this.subtractIterator = subtractIterator;
- }
-
-
- /** @param keepIterator the keepIterator to set */
- public void setKeepIterator( ResultIterator keepIterator ) {
- this.keepIterator = keepIterator;
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.usergrid.persistence.query.ir.result.ResultIterator#reset()
- */
- @Override
- public void doReset() {
- keepIterator.reset();
- subtractIterator.reset();
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.usergrid.persistence.query.ir.result.MergeIterator#advance()
- */
- @Override
- protected Set<ScanColumn> advance() {
- if ( !keepIterator.hasNext() ) {
- return null;
- }
-
- Set<ScanColumn> results = new LinkedHashSet<ScanColumn>( pageSize );
-
- while ( keepIterator.hasNext() && results.size() < pageSize ) {
-
- Set<ScanColumn> keepPage = keepIterator.next();
-
- while ( subtractIterator.hasNext() && keepPage.size() > 0 ) {
- keepPage = Sets.difference( keepPage, subtractIterator.next() );
- }
-
- subtractIterator.reset();
-
- results.addAll( keepPage );
- }
-
- return results;
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.ir.result.ResultIterator#finalizeCursor(org.usergrid.persistence.cassandra
- * .CursorCache)
- */
- @Override
- public void finalizeCursor( CursorCache cache, UUID lastLoaded ) {
- //we can only keep a cursor on our keep result set, we must subtract from every page of keep when loading
- // results
- keepIterator.finalizeCursor( cache, lastLoaded );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UUIDIndexSliceParser.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UUIDIndexSliceParser.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UUIDIndexSliceParser.java
deleted file mode 100644
index c3278de..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UUIDIndexSliceParser.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.UUID;
-
-import me.prettyprint.cassandra.serializers.UUIDSerializer;
-
-
-/**
- * Parser for reading and writing secondary index composites
- *
- * @author tnine
- */
-public class UUIDIndexSliceParser implements SliceParser {
-
- private static final UUIDSerializer SERIALIZER = UUIDSerializer.get();
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.ir.result.SliceParser#parse(java.nio.ByteBuffer)
- */
- @Override
- public ScanColumn parse( ByteBuffer buff ) {
- return new UUIDColumn( SERIALIZER.fromByteBuffer( buff.duplicate() ), buff );
- }
-
-
- public static class UUIDColumn extends AbstractScanColumn {
-
- public UUIDColumn( UUID uuid, ByteBuffer buffer ) {
- super( uuid, buffer );
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java b/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
deleted file mode 100644
index 00e90b8..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/ir/result/UnionIterator.java
+++ /dev/null
@@ -1,252 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.ir.result;
-
-
-import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.Comparator;
-import java.util.LinkedHashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.UUID;
-
-import org.usergrid.persistence.cassandra.CursorCache;
-import org.usergrid.utils.UUIDUtils;
-
-import me.prettyprint.cassandra.serializers.UUIDSerializer;
-
-
-/**
- * Simple iterator to perform Unions
- *
- * @author tnine
- */
-public class UnionIterator extends MultiIterator {
-
- private static final ScanColumnComparator COMP = new ScanColumnComparator();
-
- private static final UUIDSerializer UUID_SERIALIZER = UUIDSerializer.get();
-
-
- private SortedColumnList list;
-
- private final int id;
-
-
- /**
- * @param pageSize The page size to return
- * @param id The id assigned to this node
- * @param minUuid The minimum UUID to return
- */
- public UnionIterator( int pageSize, int id, ByteBuffer minUuid ) {
- super( pageSize );
-
- this.id = id;
-
- UUID parseMinUuid = null;
-
- if(minUuid != null) {
- parseMinUuid = UUID_SERIALIZER.fromByteBuffer( minUuid );
- }
-
- list = new SortedColumnList( pageSize, parseMinUuid );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.usergrid.persistence.query.ir.result.MergeIterator#advance()
- */
- @Override
- protected Set<ScanColumn> advance() {
-
- int size = iterators.size();
-
- if ( size == 0 ) {
- return null;
- }
-
-
- list.clear();
-
- for ( ResultIterator itr : iterators ) {
-
- while ( itr.hasNext() ) {
- list.addAll( itr.next() );
- }
-
- itr.reset();
- }
-
- //mark us for the next page
- list.mark();
-
-
- return list.asSet();
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.ir.result.ResultIterator#finalizeCursor(
- * org.usergrid.persistence.cassandra.CursorCache)
- */
- @Override
- public void finalizeCursor( CursorCache cache, UUID lastLoaded ) {
-
- ByteBuffer buff = UUIDSerializer.get().toByteBuffer( lastLoaded );
- cache.setNextCursor( id, buff );
- //get our scan column and put them in the cache
- //we finalize the cursor of the min
- }
-
-
- /**
- * A Sorted Set with a max size. When a new entry is added, the max is removed. You can mark the next "min" by
- * calling the mark method. Values > min are accepted. Values > min and that are over size are discarded
- */
- public static final class SortedColumnList {
-
- private static final ScanColumnComparator COMP = new ScanColumnComparator();
-
- private final int maxSize;
-
- private final List<ScanColumn> list;
-
-
- private ScanColumn min;
-
-
- public SortedColumnList( final int maxSize, final UUID minUuid ) {
- //we need to allocate the extra space if required
- this.list = new ArrayList<ScanColumn>( maxSize );
- this.maxSize = maxSize;
-
- if ( minUuid != null ) {
- min = new AbstractScanColumn( minUuid, null ) {};
- }
- }
-
-
- /**
- * Add the column to this list
- */
- public void add( ScanColumn col ) {
- //less than our min, don't add
- if ( COMP.compare( min, col ) >= 0 ) {
- return;
- }
-
- int index = Collections.binarySearch( this.list, col, COMP );
-
- //already present
- if ( index > -1 ) {
- return;
- }
-
- index = ( index * -1 ) - 1;
-
- //outside the renage
- if ( index >= maxSize ) {
- return;
- }
-
- this.list.add( index, col );
-
- final int size = this.list.size();
-
- if ( size > maxSize ) {
- this.list.subList( maxSize, size ).clear();
- }
- }
-
-
- /**
- * Add all the elements to this list
- */
- public void addAll( final Collection<? extends ScanColumn> cols ) {
- for ( ScanColumn col : cols ) {
- add( col );
- }
- }
-
-
- /**
- * Returns a new list. If no elements are present, returns null
- */
- public Set<ScanColumn> asSet() {
- if ( this.list.size() == 0 ) {
- return null;
- }
-
- return new LinkedHashSet<ScanColumn>( this.list );
- }
-
-
- /**
- * Mark our last element in the tree as the max
- */
- public void mark() {
-
- final int size = this.list.size();
-
- //we don't have any elements in the list, and we've never set a min
- if ( size == 0 ) {
- return;
- }
-
- min = this.list.get( size - 1 );
- }
-
-
- /**
- * Clear the list
- */
- public void clear() {
- this.list.clear();
- }
- }
-
-
- /**
- * Simple comparator for comparing scan columns. Orders them by time uuid
- */
- private static class ScanColumnComparator implements Comparator<ScanColumn> {
-
- @Override
- public int compare( final ScanColumn o1, final ScanColumn o2 ) {
- if ( o1 == null ) {
- if ( o2 == null ) {
- return 0;
- }
-
- return -1;
- }
-
- else if ( o2 == null ) {
- return 1;
- }
-
- return UUIDUtils.compare( o1.getUUID(), o2.getUUID() );
- }
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/.gitignore
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/.gitignore b/stack/core/src/main/java/org/usergrid/persistence/query/tree/.gitignore
deleted file mode 100644
index 65eb766..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/.gitignore
+++ /dev/null
@@ -1,2 +0,0 @@
-/QueryFilterLexer.java
-/QueryFilterParser.java
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/AndOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/AndOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/AndOperand.java
deleted file mode 100644
index 5bcebe0..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/AndOperand.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.PersistenceException;
-
-
-/** @author tnine */
-public class AndOperand extends BooleanOperand {
-
- public AndOperand() {
- super( new CommonToken( 0, "and" ) );
- }
-
-
- public AndOperand( Token t ) {
- super( t );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws PersistenceException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanLiteral.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanLiteral.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanLiteral.java
deleted file mode 100644
index 6dbc936..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanLiteral.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-
-
-/** @author tnine */
-public class BooleanLiteral extends Literal<Boolean> {
-
- private boolean value;
-
-
- /**
- * @param t
- */
- protected BooleanLiteral( Token t ) {
- super( t );
- value = Boolean.valueOf( t.getText() );
- }
-
-
- /** The boolean literal */
- public BooleanLiteral( boolean value ) {
- super( new ClassicToken( 0, String.valueOf( value ) ) );
- this.value = value;
- }
-
-
- public Boolean getValue() {
- return value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanOperand.java
deleted file mode 100644
index 9bc4cdd..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/BooleanOperand.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-
-
-/**
- * A base class for any equality expression. Expressions must have a property and a value. Examples are >=, >, =, <,
- * <=,
- *
- * @author tnine
- */
-public abstract class BooleanOperand extends Operand {
-
-
- /**
- * @param property
- * @param literal
- */
- public BooleanOperand( Token t ) {
- super( t );
- }
-
-
- public Operand getLeft() {
- return ( Operand ) this.children.get( 0 );
- }
-
-
- public Operand getRight() {
- return ( Operand ) this.children.get( 1 );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsOperand.java
deleted file mode 100644
index 1b9058e..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsOperand.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.PersistenceException;
-
-
-/** @author tnine */
-public class ContainsOperand extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public ContainsOperand( Token t ) {
- super( t );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws PersistenceException {
- visitor.visit( this );
- }
-
-
- public StringLiteral getString() {
- return ( StringLiteral ) getLiteral();
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.EqualityOperand#newProperty(java.lang.String)
- */
- @Override
- protected Property newProperty( String name ) {
- return new ContainsProperty( name );
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.EqualityOperand#getProperty()
- */
- @Override
- public ContainsProperty getProperty() {
- return ( ContainsProperty ) this.children.get( 0 );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsProperty.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsProperty.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsProperty.java
deleted file mode 100644
index 2d13487..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/ContainsProperty.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-
-
-/**
- * A property for full text searching that requires special renaming
- *
- * @author tnine
- */
-public class ContainsProperty extends Property {
-
- private String indexedName = null;
-
-
- public ContainsProperty( Token t ) {
- super( t );
- this.indexedName = String.format( "%s.keywords", super.getValue() );
- }
-
-
- public ContainsProperty( String property ) {
- this( new ClassicToken( 0, property ) );
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.Property#getIndexedValue()
- */
- @Override
- public String getIndexedValue() {
- return this.indexedName;
- }
-
-
- /** @return the property */
- public ContainsProperty getProperty() {
- return ( ContainsProperty ) this.children.get( 0 );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/Equal.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Equal.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/Equal.java
deleted file mode 100644
index d4d3a12..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Equal.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.NoIndexException;
-
-
-/** @author tnine */
-public class Equal extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public Equal( Token t ) {
- super( t );
- }
-
-
- public Equal() {
- super( new ClassicToken( 0, "=" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws NoIndexException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/EqualityOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/EqualityOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/EqualityOperand.java
deleted file mode 100644
index 93e3c37..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/EqualityOperand.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-
-
-/**
- * A base class for any equality expression. Expressions must have a property and a value. Examples are >=, >, =, <,
- * <=,
- *
- * @author tnine
- */
-public abstract class EqualityOperand extends Operand {
-
- /**
- * @param property
- * @param literal
- */
- public EqualityOperand( Token t ) {
- super( t );
- }
-
-
- public EqualityOperand( String propName, Literal<?> value ) {
- super( null );
- }
-
-
- /** Set the property on this operand */
- public void setProperty( String name ) {
- setAtIndex( 0, newProperty( name ) );
- }
-
-
- /** Get the property to set into the equality. Allows subclasses to override the type */
- protected Property newProperty( String name ) {
- return new Property( name );
- }
-
-
- /** Set the literal on this operand from the given value */
- public void setLiteral( Object value ) {
- setAtIndex( 1, LiteralFactory.getLiteral( value ) );
- }
-
-
- /** Set the child at the specified index. If it doesn't exist, it's added until it does */
- @SuppressWarnings("unchecked")
- private void setAtIndex( int index, Literal<?> value ) {
-
- if ( children == null ) {
- children = createChildrenList();
- }
-
- while ( children.size() - 1 < index ) {
- children.add( null );
- }
-
- setChild( index, value );
- }
-
-
- /** @return the property */
- public Property getProperty() {
- return ( Property ) this.children.get( 0 );
- }
-
-
- /** @return the literal */
- public Literal<?> getLiteral() {
- return ( Literal<?> ) this.children.get( 1 );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/FloatLiteral.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/FloatLiteral.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/FloatLiteral.java
deleted file mode 100644
index a1a5954..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/FloatLiteral.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-
-
-/** @author tnine */
-public class FloatLiteral extends Literal<Float> implements NumericLiteral {
-
- private float value;
-
-
- /**
- * @param t
- */
- public FloatLiteral( Token t ) {
- super( t );
- value = Float.valueOf( t.getText() );
- }
-
-
- public FloatLiteral( float f ) {
- super( new ClassicToken( 0, String.valueOf( f ) ) );
- value = f;
- }
-
-
- /** @return the value */
- public Float getValue() {
- return value;
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.NumericLiteral#getFloatValue()
- */
- @Override
- public float getFloatValue() {
- return value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThan.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThan.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThan.java
deleted file mode 100644
index 16dea4f..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThan.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.NoIndexException;
-
-
-/** @author tnine */
-public class GreaterThan extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public GreaterThan( Token t ) {
- super( t );
- }
-
-
- public GreaterThan() {
- super( new CommonToken( 0, ">" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws NoIndexException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThanEqual.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThanEqual.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThanEqual.java
deleted file mode 100644
index 176c639..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/GreaterThanEqual.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.NoIndexException;
-
-
-/** @author tnine */
-public class GreaterThanEqual extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public GreaterThanEqual( Token t ) {
- super( t );
- }
-
-
- /**
- * @param property
- * @param literal
- */
- public GreaterThanEqual() {
- super( new CommonToken( 0, ">=" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws NoIndexException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThan.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThan.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThan.java
deleted file mode 100644
index 2cfb45a..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThan.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.NoIndexException;
-
-
-/** @author tnine */
-public class LessThan extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public LessThan( Token t ) {
- super( t );
- }
-
-
- public LessThan() {
- super( new CommonToken( 0, "<" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws NoIndexException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThanEqual.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThanEqual.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThanEqual.java
deleted file mode 100644
index 1767727..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LessThanEqual.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.NoIndexException;
-
-
-/** @author tnine */
-public class LessThanEqual extends EqualityOperand {
-
- /**
- * @param property
- * @param literal
- */
- public LessThanEqual( Token t ) {
- super( t );
- }
-
-
- /**
- */
- public LessThanEqual() {
- super( new CommonToken( 0, "<=" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws NoIndexException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/Literal.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Literal.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/Literal.java
deleted file mode 100644
index e962a59..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Literal.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-import org.antlr.runtime.tree.CommonTree;
-
-
-/**
- * Abstract class for literals
- *
- * @author tnine
- */
-public abstract class Literal<V> extends CommonTree {
-
-
- protected Literal( Token t ) {
- super( t );
- }
-
-
- /** Return the value of the literal the user has passed in */
- public abstract V getValue();
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/LiteralFactory.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LiteralFactory.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/LiteralFactory.java
deleted file mode 100644
index ed93315..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LiteralFactory.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import java.util.UUID;
-
-
-/**
- * Simple factory for generating literal instance based on the runtime value
- *
- * @author tnine
- */
-public class LiteralFactory {
-
- /** Generate the correct literal subclass based on the runtime instance. */
- public static final Literal<?> getLiteral( Object value ) {
- if ( value instanceof Integer ) {
- return new LongLiteral( ( Integer ) value );
- }
- if ( value instanceof Long ) {
- return new LongLiteral( ( Long ) value );
- }
-
- if ( value instanceof String ) {
- return new StringLiteral( ( String ) value );
- }
-
- if ( value instanceof Float ) {
- return new FloatLiteral( ( Float ) value );
- }
-
- if ( value instanceof UUID ) {
- return new UUIDLiteral( ( UUID ) value );
- }
-
- if ( value instanceof Boolean ) {
- return new BooleanLiteral( ( Boolean ) value );
- }
-
- throw new UnsupportedOperationException(
- String.format( "Unsupported type of %s was passed when trying to construct a literal",
- value.getClass() ) );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/LongLiteral.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LongLiteral.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/LongLiteral.java
deleted file mode 100644
index 594c0c3..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/LongLiteral.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-
-
-/** @author tnine */
-public class LongLiteral extends Literal<Long> implements NumericLiteral {
-
- private long value;
-
-
- /**
- * @param t
- */
- public LongLiteral( Token t ) {
- super( t );
- this.value = Long.valueOf( t.getText() );
- }
-
-
- /**
- *
- * @param value
- */
- public LongLiteral( long value ) {
- super( new ClassicToken( 0, String.valueOf( value ) ) );
- this.value = value;
- }
-
-
- /**
- *
- * @return
- */
- public Long getValue() {
- return this.value;
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.NumericLiteral#getFloatValue()
- */
- @Override
- public float getFloatValue() {
- return value;
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/NotOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/NotOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/NotOperand.java
deleted file mode 100644
index 895455e..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/NotOperand.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.PersistenceException;
-
-
-/** @author tnine */
-public class NotOperand extends Operand {
-
-
- public NotOperand( Token t ) {
- super( t );
- }
-
-
- /** get the only child operation */
- public Operand getOperation() {
- return ( Operand ) this.children.get( 0 );
- }
-
-
- /* (non-Javadoc)
- * @see org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence.query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws PersistenceException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/NumericLiteral.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/NumericLiteral.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/NumericLiteral.java
deleted file mode 100644
index 95b2e18..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/NumericLiteral.java
+++ /dev/null
@@ -1,24 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-/** @author tnine */
-public interface NumericLiteral {
-
- /** Return the value of this numeric literal as a float */
- public float getFloatValue();
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/Operand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Operand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/Operand.java
deleted file mode 100644
index 23a359a..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Operand.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.Token;
-import org.antlr.runtime.tree.CommonTree;
-import org.usergrid.persistence.exceptions.PersistenceException;
-
-
-/**
- * Any logical operation should subclass. Boolean logic, equality, not, contains, within and others are examples of
- * operands
- *
- * @author tnine
- */
-public abstract class Operand extends CommonTree {
-
-
- /** Default constructor to take a token */
- public Operand( Token t ) {
- super( t );
- }
-
-
- /** Get the pointer to the parent node */
- public Operand getParent() {
- return ( Operand ) super.getParent();
- }
-
-
- /** Visitor method */
- public abstract void visit( QueryVisitor visitor ) throws PersistenceException;
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/OrOperand.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/OrOperand.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/OrOperand.java
deleted file mode 100644
index a3d6ce9..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/OrOperand.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.CommonToken;
-import org.antlr.runtime.Token;
-import org.usergrid.persistence.exceptions.PersistenceException;
-
-
-/** @author tnine */
-public class OrOperand extends BooleanOperand {
-
- /**
- * @param left
- * @param token
- * @param right
- */
- public OrOperand( Token t ) {
- super( t );
- }
-
-
- public OrOperand() {
- super( new CommonToken( 0, "or" ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see
- * org.usergrid.persistence.query.tree.Operand#visit(org.usergrid.persistence
- * .query.tree.QueryVisitor)
- */
- @Override
- public void visit( QueryVisitor visitor ) throws PersistenceException {
- visitor.visit( this );
- }
-}
http://git-wip-us.apache.org/repos/asf/incubator-usergrid/blob/2c2acbe4/stack/core/src/main/java/org/usergrid/persistence/query/tree/Property.java
----------------------------------------------------------------------
diff --git a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Property.java b/stack/core/src/main/java/org/usergrid/persistence/query/tree/Property.java
deleted file mode 100644
index 5ca11b4..0000000
--- a/stack/core/src/main/java/org/usergrid/persistence/query/tree/Property.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*******************************************************************************
- * Copyright 2012 Apigee Corporation
- *
- * Licensed under the Apache License, Version 2.0 (the "License");
- * you may not use this file except in compliance with the License.
- * You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- ******************************************************************************/
-package org.usergrid.persistence.query.tree;
-
-
-import org.antlr.runtime.ClassicToken;
-import org.antlr.runtime.Token;
-
-
-/**
- * A property
- *
- * @author tnine
- */
-public class Property extends Literal<String> {
-
- private String property;
-
-
- public Property( Token t ) {
- super( t );
- this.property = t.getText();
- }
-
-
- public Property( String property ) {
- this( new ClassicToken( 0, property ) );
- }
-
-
- /*
- * (non-Javadoc)
- *
- * @see org.usergrid.persistence.query.tree.Literal#getValue()
- */
- @Override
- public String getValue() {
- return this.property;
- }
-
-
- /**
- * Subclasses an override. Indexed value could be different when stored internally. By default returns the same
- * property
- */
- public String getIndexedValue() {
- return this.property;
- }
-}