Search in sources :

Example 71 with NoSuchElementException

use of java.util.NoSuchElementException in project lucene-solr by apache.

the class PointInSetQuery method getPackedPoints.

public Collection<byte[]> getPackedPoints() {
    return new AbstractCollection<byte[]>() {

        @Override
        public Iterator<byte[]> iterator() {
            int size = (int) sortedPackedPoints.size();
            PrefixCodedTerms.TermIterator iterator = sortedPackedPoints.iterator();
            return new Iterator<byte[]>() {

                int upto = 0;

                @Override
                public boolean hasNext() {
                    return upto < size;
                }

                @Override
                public byte[] next() {
                    if (upto == size) {
                        throw new NoSuchElementException();
                    }
                    upto++;
                    BytesRef next = iterator.next();
                    return Arrays.copyOfRange(next.bytes, next.offset, next.length);
                }
            };
        }

        @Override
        public int size() {
            return (int) sortedPackedPoints.size();
        }
    };
}
Also used : PrefixCodedTerms(org.apache.lucene.index.PrefixCodedTerms) AbstractCollection(java.util.AbstractCollection) Iterator(java.util.Iterator) TermIterator(org.apache.lucene.index.PrefixCodedTerms.TermIterator) BytesRefIterator(org.apache.lucene.util.BytesRefIterator) TermIterator(org.apache.lucene.index.PrefixCodedTerms.TermIterator) IntPoint(org.apache.lucene.document.IntPoint) NoSuchElementException(java.util.NoSuchElementException) BytesRef(org.apache.lucene.util.BytesRef)

Example 72 with NoSuchElementException

use of java.util.NoSuchElementException in project jena by apache.

the class RecordsFromInput method next.

@Override
public Record next() {
    if (!hasNext())
        throw new NoSuchElementException();
    Record r = slot;
    slot = null;
    return r;
}
Also used : Record(org.apache.jena.tdb.base.record.Record) NoSuchElementException(java.util.NoSuchElementException)

Example 73 with NoSuchElementException

use of java.util.NoSuchElementException in project geode by apache.

the class PartitionedRegion method doExecuteQuery.

/**
   * If ForceReattemptException is thrown then the caller must loop and call us again.
   * 
   * @throws ForceReattemptException if one of the buckets moved out from under us
   */
private Object doExecuteQuery(DefaultQuery query, Object[] parameters, Set buckets) throws FunctionDomainException, TypeMismatchException, NameResolutionException, QueryInvocationTargetException, ForceReattemptException {
    if (logger.isDebugEnabled()) {
        logger.debug("Executing query :{}", query);
    }
    HashSet<Integer> allBuckets = new HashSet<Integer>();
    if (buckets == null) {
        // remote buckets
        final Iterator remoteIter = getRegionAdvisor().getBucketSet().iterator();
        try {
            while (remoteIter.hasNext()) {
                allBuckets.add((Integer) remoteIter.next());
            }
        } catch (NoSuchElementException ignore) {
        }
    } else {
        // local buckets
        Iterator localIter = null;
        if (this.dataStore != null) {
            localIter = buckets.iterator();
        } else {
            localIter = Collections.emptySet().iterator();
        }
        try {
            while (localIter.hasNext()) {
                allBuckets.add((Integer) localIter.next());
            }
        } catch (NoSuchElementException ignore) {
        }
    }
    if (allBuckets.size() == 0) {
        if (logger.isDebugEnabled()) {
            logger.debug("No bucket storage allocated. PR has no data yet.");
        }
        ResultsSet resSet = new ResultsSet();
        resSet.setElementType(new ObjectTypeImpl(this.getValueConstraint() == null ? Object.class : this.getValueConstraint()));
        return resSet;
    }
    CompiledSelect selectExpr = query.getSimpleSelect();
    if (selectExpr == null) {
        throw new IllegalArgumentException(LocalizedStrings.PartitionedRegion_QUERY_MUST_BE_A_SELECT_EXPRESSION_ONLY.toLocalizedString());
    }
    // this can return a BAG even if it's a DISTINCT select expression,
    // since the expectation is that the duplicates will be removed at the end
    SelectResults results = selectExpr.getEmptyResultSet(parameters, getCache(), query);
    PartitionedRegionQueryEvaluator prqe = new PartitionedRegionQueryEvaluator(this.getSystem(), this, query, parameters, results, allBuckets);
    for (; ; ) {
        this.getCancelCriterion().checkCancelInProgress(null);
        boolean interrupted = Thread.interrupted();
        try {
            results = prqe.queryBuckets(null);
            break;
        } catch (InterruptedException ignore) {
            interrupted = true;
        } catch (FunctionDomainException e) {
            throw e;
        } catch (TypeMismatchException e) {
            throw e;
        } catch (NameResolutionException e) {
            throw e;
        } catch (QueryInvocationTargetException e) {
            throw e;
        } catch (QueryException qe) {
            throw new QueryInvocationTargetException(LocalizedStrings.PartitionedRegion_UNEXPECTED_QUERY_EXCEPTION_OCCURRED_DURING_QUERY_EXECUTION_0.toLocalizedString(qe.getMessage()), qe);
        } finally {
            if (interrupted) {
                Thread.currentThread().interrupt();
            }
        }
    }
    // for
    // Drop Duplicates if this is a DISTINCT query
    boolean allowsDuplicates = results.getCollectionType().allowsDuplicates();
    // be exactly matching the limit
    if (selectExpr.isDistinct()) {
        // don't just convert to a ResultsSet (or StructSet), since
        // the bags can convert themselves to a Set more efficiently
        ObjectType elementType = results.getCollectionType().getElementType();
        if (selectExpr.getOrderByAttrs() != null) {
        // Set limit also, its not applied while building the final result set as order by is
        // involved.
        } else if (allowsDuplicates) {
            results = new ResultsCollectionWrapper(elementType, results.asSet());
        }
        if (selectExpr.isCount() && (results.isEmpty() || selectExpr.isDistinct())) {
            // Constructor with elementType not visible.
            SelectResults resultCount = new ResultsBag(getCachePerfStats());
            resultCount.setElementType(new ObjectTypeImpl(Integer.class));
            ((Bag) resultCount).addAndGetOccurence(results.size());
            return resultCount;
        }
    }
    return results;
}
Also used : ResultsSet(org.apache.geode.cache.query.internal.ResultsSet) TypeMismatchException(org.apache.geode.cache.query.TypeMismatchException) ObjectTypeImpl(org.apache.geode.cache.query.internal.types.ObjectTypeImpl) QueryInvocationTargetException(org.apache.geode.cache.query.QueryInvocationTargetException) Bag(org.apache.geode.cache.query.internal.Bag) ResultsBag(org.apache.geode.cache.query.internal.ResultsBag) NameResolutionException(org.apache.geode.cache.query.NameResolutionException) AtomicInteger(java.util.concurrent.atomic.AtomicInteger) ObjectType(org.apache.geode.cache.query.types.ObjectType) QueryException(org.apache.geode.cache.query.QueryException) SelectResults(org.apache.geode.cache.query.SelectResults) FunctionDomainException(org.apache.geode.cache.query.FunctionDomainException) ResultsCollectionWrapper(org.apache.geode.cache.query.internal.ResultsCollectionWrapper) PREntriesIterator(org.apache.geode.internal.cache.partitioned.PREntriesIterator) Iterator(java.util.Iterator) CompiledSelect(org.apache.geode.cache.query.internal.CompiledSelect) ResultsBag(org.apache.geode.cache.query.internal.ResultsBag) NoSuchElementException(java.util.NoSuchElementException) HashSet(java.util.HashSet)

Example 74 with NoSuchElementException

use of java.util.NoSuchElementException in project geode by apache.

the class ExecuteRegionFunctionSingleHop method cmdExecute.

@Override
public void cmdExecute(Message clientMessage, ServerConnection servConn, long start) throws IOException {
    String regionName = null;
    Object function = null;
    Object args = null;
    MemberMappedArgument memberMappedArg = null;
    byte isExecuteOnAllBuckets = 0;
    Set<Object> filter = null;
    Set<Integer> buckets = null;
    byte hasResult = 0;
    byte functionState = 0;
    int removedNodesSize = 0;
    Set<Object> removedNodesSet = null;
    int filterSize = 0, bucketIdsSize = 0, partNumber = 0;
    CachedRegionHelper crHelper = servConn.getCachedRegionHelper();
    int functionTimeout = ConnectionImpl.DEFAULT_CLIENT_FUNCTION_TIMEOUT;
    try {
        byte[] bytes = clientMessage.getPart(0).getSerializedForm();
        functionState = bytes[0];
        if (bytes.length >= 5 && servConn.getClientVersion().ordinal() >= Version.GFE_8009.ordinal()) {
            functionTimeout = Part.decodeInt(bytes, 1);
        }
        if (functionState != 1) {
            hasResult = (byte) ((functionState & 2) - 1);
        } else {
            hasResult = functionState;
        }
        if (hasResult == 1) {
            servConn.setAsTrue(REQUIRES_RESPONSE);
            servConn.setAsTrue(REQUIRES_CHUNKED_RESPONSE);
        }
        regionName = clientMessage.getPart(1).getString();
        function = clientMessage.getPart(2).getStringOrObject();
        args = clientMessage.getPart(3).getObject();
        Part part = clientMessage.getPart(4);
        if (part != null) {
            Object obj = part.getObject();
            if (obj instanceof MemberMappedArgument) {
                memberMappedArg = (MemberMappedArgument) obj;
            }
        }
        isExecuteOnAllBuckets = clientMessage.getPart(5).getSerializedForm()[0];
        if (isExecuteOnAllBuckets == 1) {
            filter = new HashSet();
            bucketIdsSize = clientMessage.getPart(6).getInt();
            if (bucketIdsSize != 0) {
                buckets = new HashSet<Integer>();
                partNumber = 7;
                for (int i = 0; i < bucketIdsSize; i++) {
                    buckets.add(clientMessage.getPart(partNumber + i).getInt());
                }
            }
            partNumber = 7 + bucketIdsSize;
        } else {
            filterSize = clientMessage.getPart(6).getInt();
            if (filterSize != 0) {
                filter = new HashSet<Object>();
                partNumber = 7;
                for (int i = 0; i < filterSize; i++) {
                    filter.add(clientMessage.getPart(partNumber + i).getStringOrObject());
                }
            }
            partNumber = 7 + filterSize;
        }
        removedNodesSize = clientMessage.getPart(partNumber).getInt();
        if (removedNodesSize != 0) {
            removedNodesSet = new HashSet<Object>();
            partNumber = partNumber + 1;
            for (int i = 0; i < removedNodesSize; i++) {
                removedNodesSet.add(clientMessage.getPart(partNumber + i).getStringOrObject());
            }
        }
    } catch (ClassNotFoundException exception) {
        logger.warn(LocalizedMessage.create(LocalizedStrings.ExecuteRegionFunction_EXCEPTION_ON_SERVER_WHILE_EXECUTIONG_FUNCTION_0, function), exception);
        if (hasResult == 1) {
            writeChunkedException(clientMessage, exception, servConn);
            servConn.setAsTrue(RESPONDED);
            return;
        }
    }
    if (function == null || regionName == null) {
        String message = null;
        if (function == null) {
            message = LocalizedStrings.ExecuteRegionFunction_THE_INPUT_0_FOR_THE_EXECUTE_FUNCTION_REQUEST_IS_NULL.toLocalizedString("function");
        }
        if (regionName == null) {
            message = LocalizedStrings.ExecuteRegionFunction_THE_INPUT_0_FOR_THE_EXECUTE_FUNCTION_REQUEST_IS_NULL.toLocalizedString("region");
        }
        logger.warn("{}: {}", servConn.getName(), message);
        sendError(hasResult, clientMessage, message, servConn);
        return;
    }
    Region region = crHelper.getRegion(regionName);
    if (region == null) {
        String message = LocalizedStrings.ExecuteRegionFunction_THE_REGION_NAMED_0_WAS_NOT_FOUND_DURING_EXECUTE_FUNCTION_REQUEST.toLocalizedString(regionName);
        logger.warn("{}: {}", servConn.getName(), message);
        sendError(hasResult, clientMessage, message, servConn);
        return;
    }
    HandShake handShake = (HandShake) servConn.getHandshake();
    int earlierClientReadTimeout = handShake.getClientReadTimeout();
    handShake.setClientReadTimeout(functionTimeout);
    ServerToClientFunctionResultSender resultSender = null;
    Function functionObject = null;
    try {
        if (function instanceof String) {
            functionObject = FunctionService.getFunction((String) function);
            if (functionObject == null) {
                String message = LocalizedStrings.ExecuteRegionFunction_THE_FUNCTION_0_HAS_NOT_BEEN_REGISTERED.toLocalizedString(function);
                logger.warn("{}: {}", servConn.getName(), message);
                sendError(hasResult, clientMessage, message, servConn);
                return;
            } else {
                byte functionStateOnServer = AbstractExecution.getFunctionState(functionObject.isHA(), functionObject.hasResult(), functionObject.optimizeForWrite());
                if (functionStateOnServer != functionState) {
                    String message = LocalizedStrings.FunctionService_FUNCTION_ATTRIBUTE_MISMATCH_CLIENT_SERVER.toLocalizedString(function);
                    logger.warn("{}: {}", servConn.getName(), message);
                    sendError(hasResult, clientMessage, message, servConn);
                    return;
                }
            }
        } else {
            functionObject = (Function) function;
        }
        this.securityService.authorizeDataWrite();
        // check if the caller is authorized to do this operation on server
        AuthorizeRequest authzRequest = servConn.getAuthzRequest();
        final String functionName = functionObject.getId();
        final String regionPath = region.getFullPath();
        ExecuteFunctionOperationContext executeContext = null;
        if (authzRequest != null) {
            executeContext = authzRequest.executeFunctionAuthorize(functionName, regionPath, filter, args, functionObject.optimizeForWrite());
        }
        // Construct execution
        AbstractExecution execution = (AbstractExecution) FunctionService.onRegion(region);
        ChunkedMessage m = servConn.getFunctionResponseMessage();
        m.setTransactionId(clientMessage.getTransactionId());
        resultSender = new ServerToClientFunctionResultSender65(m, MessageType.EXECUTE_REGION_FUNCTION_RESULT, servConn, functionObject, executeContext);
        if (isExecuteOnAllBuckets == 1) {
            PartitionedRegion pr = (PartitionedRegion) region;
            Set<Integer> actualBucketSet = pr.getRegionAdvisor().getBucketSet();
            try {
                buckets.retainAll(actualBucketSet);
            } catch (NoSuchElementException done) {
            }
            if (buckets.isEmpty()) {
                throw new FunctionException("Buckets are null");
            }
            execution = new PartitionedRegionFunctionExecutor((PartitionedRegion) region, buckets, args, memberMappedArg, resultSender, removedNodesSet, true, true);
        } else {
            execution = new PartitionedRegionFunctionExecutor((PartitionedRegion) region, filter, args, memberMappedArg, resultSender, removedNodesSet, false, true);
        }
        if ((hasResult == 1) && filter != null && filter.size() == 1) {
            ServerConnection.executeFunctionOnLocalNodeOnly((byte) 1);
        }
        if (logger.isDebugEnabled()) {
            logger.debug("Executing Function: {} on Server: {} with Execution: {}", functionObject.getId(), servConn, execution);
        }
        if (hasResult == 1) {
            if (function instanceof String) {
                switch(functionState) {
                    case AbstractExecution.NO_HA_HASRESULT_NO_OPTIMIZEFORWRITE:
                        execution.execute((String) function, true, false, false).getResult();
                        break;
                    case AbstractExecution.HA_HASRESULT_NO_OPTIMIZEFORWRITE:
                        execution.execute((String) function, true, true, false).getResult();
                        break;
                    case AbstractExecution.HA_HASRESULT_OPTIMIZEFORWRITE:
                        execution.execute((String) function, true, true, true).getResult();
                        break;
                    case AbstractExecution.NO_HA_HASRESULT_OPTIMIZEFORWRITE:
                        execution.execute((String) function, true, false, true).getResult();
                        break;
                }
            } else {
                execution.execute(functionObject).getResult();
            }
        } else {
            if (function instanceof String) {
                switch(functionState) {
                    case AbstractExecution.NO_HA_NO_HASRESULT_NO_OPTIMIZEFORWRITE:
                        execution.execute((String) function, false, false, false);
                        break;
                    case AbstractExecution.NO_HA_NO_HASRESULT_OPTIMIZEFORWRITE:
                        execution.execute((String) function, false, false, true);
                        break;
                }
            } else {
                execution.execute(functionObject);
            }
        }
    } catch (IOException ioe) {
        logger.warn(LocalizedMessage.create(LocalizedStrings.ExecuteRegionFunction_EXCEPTION_ON_SERVER_WHILE_EXECUTIONG_FUNCTION_0, function), ioe);
        final String message = LocalizedStrings.ExecuteRegionFunction_SERVER_COULD_NOT_SEND_THE_REPLY.toLocalizedString();
        sendException(hasResult, clientMessage, message, servConn, ioe);
    } catch (FunctionException fe) {
        String message = fe.getMessage();
        if (fe.getCause() instanceof FunctionInvocationTargetException) {
            if (functionObject.isHA() && logger.isDebugEnabled()) {
                logger.debug("Exception on server while executing function: {}: {}", function, message);
            } else if (logger.isDebugEnabled()) {
                logger.debug("Exception on server while executing function: {}: {}", function, message, fe);
            }
            synchronized (clientMessage) {
                resultSender.setException(fe);
            }
        } else {
            logger.warn(LocalizedMessage.create(LocalizedStrings.ExecuteRegionFunction_EXCEPTION_ON_SERVER_WHILE_EXECUTIONG_FUNCTION_0, function), fe);
            sendException(hasResult, clientMessage, message, servConn, fe);
        }
    } catch (Exception e) {
        logger.warn(LocalizedMessage.create(LocalizedStrings.ExecuteRegionFunction_EXCEPTION_ON_SERVER_WHILE_EXECUTIONG_FUNCTION_0, function), e);
        String message = e.getMessage();
        sendException(hasResult, clientMessage, message, servConn, e);
    } finally {
        handShake.setClientReadTimeout(earlierClientReadTimeout);
        ServerConnection.executeFunctionOnLocalNodeOnly((byte) 0);
    }
}
Also used : AuthorizeRequest(org.apache.geode.internal.security.AuthorizeRequest) CachedRegionHelper(org.apache.geode.internal.cache.tier.CachedRegionHelper) Function(org.apache.geode.cache.execute.Function) HandShake(org.apache.geode.internal.cache.tier.sockets.HandShake) MemberMappedArgument(org.apache.geode.internal.cache.execute.MemberMappedArgument) HashSet(java.util.HashSet) AbstractExecution(org.apache.geode.internal.cache.execute.AbstractExecution) PartitionedRegionFunctionExecutor(org.apache.geode.internal.cache.execute.PartitionedRegionFunctionExecutor) ExecuteFunctionOperationContext(org.apache.geode.cache.operations.ExecuteFunctionOperationContext) ServerToClientFunctionResultSender65(org.apache.geode.internal.cache.execute.ServerToClientFunctionResultSender65) FunctionException(org.apache.geode.cache.execute.FunctionException) IOException(java.io.IOException) FunctionInvocationTargetException(org.apache.geode.cache.execute.FunctionInvocationTargetException) FunctionException(org.apache.geode.cache.execute.FunctionException) NoSuchElementException(java.util.NoSuchElementException) IOException(java.io.IOException) InternalFunctionInvocationTargetException(org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException) Part(org.apache.geode.internal.cache.tier.sockets.Part) PartitionedRegion(org.apache.geode.internal.cache.PartitionedRegion) FunctionInvocationTargetException(org.apache.geode.cache.execute.FunctionInvocationTargetException) InternalFunctionInvocationTargetException(org.apache.geode.internal.cache.execute.InternalFunctionInvocationTargetException) Region(org.apache.geode.cache.Region) PartitionedRegion(org.apache.geode.internal.cache.PartitionedRegion) ServerToClientFunctionResultSender(org.apache.geode.internal.cache.execute.ServerToClientFunctionResultSender) ChunkedMessage(org.apache.geode.internal.cache.tier.sockets.ChunkedMessage) NoSuchElementException(java.util.NoSuchElementException)

Example 75 with NoSuchElementException

use of java.util.NoSuchElementException in project sling by apache.

the class JcrNodeResourceIteratorTest method testRoot.

public void testRoot() throws RepositoryException {
    String path = "/child";
    Node node = new MockNode(path);
    NodeIterator ni = new MockNodeIterator(new Node[] { node });
    JcrNodeResourceIterator ri = new JcrNodeResourceIterator(null, "/", null, ni, getHelperData(), null);
    assertTrue(ri.hasNext());
    Resource res = ri.next();
    assertEquals(path, res.getPath());
    assertEquals(node.getPrimaryNodeType().getName(), res.getResourceType());
    assertFalse(ri.hasNext());
    try {
        ri.next();
        fail("Expected no element in the iterator");
    } catch (NoSuchElementException nsee) {
    // expected
    }
}
Also used : NodeIterator(javax.jcr.NodeIterator) MockNodeIterator(org.apache.sling.commons.testing.jcr.MockNodeIterator) MockNodeIterator(org.apache.sling.commons.testing.jcr.MockNodeIterator) MockNode(org.apache.sling.commons.testing.jcr.MockNode) Node(javax.jcr.Node) Resource(org.apache.sling.api.resource.Resource) MockNode(org.apache.sling.commons.testing.jcr.MockNode) JcrNodeResourceIterator(org.apache.sling.jcr.resource.internal.helper.jcr.JcrNodeResourceIterator) NoSuchElementException(java.util.NoSuchElementException)

Aggregations

NoSuchElementException (java.util.NoSuchElementException)1629 Iterator (java.util.Iterator)234 ArrayList (java.util.ArrayList)138 IOException (java.io.IOException)137 Test (org.junit.Test)95 StringTokenizer (java.util.StringTokenizer)88 Scanner (java.util.Scanner)86 Map (java.util.Map)56 List (java.util.List)54 File (java.io.File)51 HashMap (java.util.HashMap)47 InputMismatchException (java.util.InputMismatchException)47 LinkedList (java.util.LinkedList)32 HashSet (java.util.HashSet)31 Set (java.util.Set)29 CorruptDataException (com.ibm.j9ddr.CorruptDataException)28 Locale (java.util.Locale)27 Collection (java.util.Collection)26 BufferedReader (java.io.BufferedReader)24 Enumeration (java.util.Enumeration)24