Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
  /*
   * Licensed to the Apache Software Foundation (ASF) under one or more
   * contributor license agreements.  See the NOTICE file distributed with
   * this work for additional information regarding copyright ownership.
   * The ASF licenses this file to You 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.apache.jackrabbit.spi2dav;
 
 import java.util.Map;
IdURICache...
 
 class IdURICache {
     private static Logger log = LoggerFactory.getLogger(IdURICache.class);

    

See also:
JCR-3305: limit cache size
 
     private static final int CACHESIZE = 10000;
 
     private final String workspaceUri;
     private Map<ItemIdStringidToUriCache;
     private Map<StringItemIduriToIdCache;
 
     IdURICache(String workspaceUri) {
         this. = workspaceUri;
          = new LinkedHashMap<ItemIdString>(, 1) {
             @Override
             protected boolean removeEldestEntry(Map.Entry<ItemIdStringeldest) {
                 return this.size() > ;
             }
         };
          = new LinkedHashMap<StringItemId>(, 1) {
             @Override
             protected boolean removeEldestEntry(Map.Entry<StringItemIdeldest) {
                 return this.size() > ;
             }
         };
     }
 
     public ItemId getItemId(String uri) {
         return .get(getCleanUri(uri));
     }
 
     public String getUri(ItemId itemId) {
         return .get(itemId);
     }
 
     public boolean containsUri(String uri) {
         return .containsKey(getCleanUri(uri));
     }
 
     public boolean containsItemId(ItemId itemId) {
         return .containsKey(itemId);
     }
 
     public void add(String uriItemId itemId) {
         if (!uri.startsWith()) {
             throw new IllegalArgumentException("Workspace missmatch.");
         }
         String cleanUri = getCleanUri(uri);
         .put(cleanUriitemId);
         .put(itemIdcleanUri);
         .debug("Added: ItemId = " + itemId + " URI = " + cleanUri);
     }
 
     public void remove(String uri) {
         String cleanUri = getCleanUri(uri);
         ItemId itemId = .remove(cleanUri);
         if (itemId != null) {
             .remove(itemId);
         }
         .debug("Removed: ItemId = " + itemId + " URI = " + cleanUri);
     }
 
     public void remove(ItemId itemId) {
         String uri = .remove(itemId);
         if (uri != null) {
             .remove(uri);
         }
         .debug("Removed: ItemId = " + itemId + " URI = " + uri);
     }
 
     public void clear() {
        .clear();
        .clear();
    }
    private static String getCleanUri(String uri) {
        if (uri.endsWith("/")) {
            return uri.substring(0, uri.length() - 1);
        } else {
            return uri;
        }
    }
New to GrepCode? Check out our FAQ X