Package org.apache.abdera.util

Examples of org.apache.abdera.util.EntityTag


 
  /**
   * Sets the value of the HTTP If-None-Match header
   */
  public RequestOptions setIfNoneMatch(String entity_tag) {
    return setIfNoneMatch(new EntityTag(entity_tag));
  }
View Full Code Here


        IRI r = new IRI(getUri());
        cl = r.resolve(cl);
      }
      String base = (cl != null) ? cl.toASCIIString() : getUri();
      Document<T> doc = parser.parse(getReader(), base, options);
      EntityTag etag = getEntityTag();
      if (etag != null) doc.setEntityTag(etag);
      Date lm = getLastModified();
      if (lm != null) doc.setLastModified(lm);
      MimeType mt = getContentType();
      if (mt != null) doc.setContentType(mt.toString());
View Full Code Here

    String uri,
    EntityProvider provider,
    RequestOptions options) {
      if (options == null) options = getDefaultRequestOptions();
      if (options.isConditionalPut()) {
        EntityTag etag = provider.getEntityTag();
        if (etag != null) options.setIfMatch(etag);
        else {
          Date lm = provider.getLastModified();
          if (lm != null) options.setIfUnmodifiedSince(lm);
        }
View Full Code Here

            Feed result = currentFeed(request);
            fetchEntriesFromStorage(request, result);

            // validity check:
            // sometimes abdera is failing to parse its own etags
            EntityTag etag = ProviderHelper.calculateEntityTag(result);
            EntityTag[] matches = request.getIfMatch();
            for (EntityTag match : matches) {
                if (etag.equals(match)) {
                    // no change: return 304 Not Modified
                    return ProviderHelper.notmodified(request);
                }
            }

            try {
                EntityTag.parse(etag.toString());
            } catch (IllegalArgumentException e) {
                // FIXME: Abdera's etag creator sometimes creates invalid etags
                log.error("Bad etag: " + feedId + " : " + etag, e);
            }
View Full Code Here

            String mimetype = persistence.readFeedEntryResourceType(feedId,
                    Common.toEntryId(entryId), resourceId);
            input = persistence.readFeedEntryResource(feedId,
                    Common.toEntryId(entryId), resourceId);
            MediaResponseContext response = new MediaResponseContext(input,
                    new EntityTag(resourceId), 200);
            response.setContentType(mimetype);
            return response;
        } catch (FileNotFoundException e) {
            return ProviderHelper.notfound(request);
        } catch (IOException e) {
View Full Code Here

      "W/\"hello\"",
      "*"
    };
    EntityTag[] etags = new EntityTag[tags.length];
    for (int n = 0; n < tags.length; n++) {
      etags[n] = new EntityTag(tags[n]);
    }
    assertFalse(etags[0].isWeak());
    assertFalse(etags[0].isWild());
    assertFalse(etags[1].isWeak());
    assertFalse(etags[1].isWild());
    assertTrue(etags[2].isWeak());
    assertFalse(etags[2].isWild());
    assertFalse(etags[3].isWeak());
    assertTrue(etags[3].isWild());
    assertEquals(etags[0].getTag(),"hello");
    assertEquals(etags[1].getTag(),"hello");
    assertEquals(etags[2].getTag(),"hello");
    assertEquals(etags[3].getTag(),"*");
    assertEquals(etags[0].toString(),tags[1]);
    assertEquals(etags[1].toString(),tags[1]);
    assertEquals(etags[2].toString(),tags[2]);
    assertEquals(etags[3].toString(),tags[3]);
   
    assertTrue(EntityTag.matches(etags[3], etags[0]));
    assertTrue(EntityTag.matches(etags[3], etags[1]));
    assertTrue(EntityTag.matches(etags[3], etags[2]));
    assertTrue(EntityTag.matches(etags[3], etags[3]));

    assertTrue(EntityTag.matches(etags[0], etags[1]));
    assertFalse(EntityTag.matches(etags[0], etags[2]));
   
    assertTrue(EntityTag.matchesAny(etags[3], new EntityTag[] {etags[0], etags[1], etags[2]}));
    assertTrue(EntityTag.matchesAny(etags[0], new EntityTag[] {etags[3], etags[1], etags[2]}));
    assertTrue(EntityTag.matchesAny(etags[1], new EntityTag[] {etags[0], etags[3], etags[2]}));
    assertTrue(EntityTag.matchesAny(etags[2], new EntityTag[] {etags[0], etags[1], etags[3]}));
   
    java.util.Arrays.sort(etags);
    assertEquals(etags[0].toString(),tags[3]);
    assertEquals(etags[1].toString(),tags[1]);
    assertEquals(etags[2].toString(),tags[1]);
    assertEquals(etags[3].toString(),tags[2]);
    EntityTag etag = EntityTag.generate("a","b","c","d");
    assertEquals(etag.toString(),"\"e2fc714c4727ee9395f324cd2e7f331f\"");
  }
View Full Code Here

   
    options.setHeader("foo", "bar");
    assertEquals(options.getHeader("foo"),"bar");
   
    options.setIfMatch("testing");
    assertTrue(EntityTag.matchesAny(new EntityTag("testing"), options.getIfMatch()));
   
    options.setIfNoneMatch("testing");
    assertTrue(EntityTag.matchesAny(new EntityTag("testing"), options.getIfNoneMatch()));
   
    options.setSlug("This is the slug");
    assertEquals(options.getSlug(),"This is the slug");
   
    options.setUsePostOverride(true);
View Full Code Here

    // YAY! We can handle media link entries
  }
 
  @Test
  public void testEntityTag() throws Exception {
    EntityTag tag1 = new EntityTag("tag");
    EntityTag tag2 = new EntityTag("tag",true); // weak;
    assertFalse(tag1.isWeak());
    assertTrue(tag2.isWeak());
    assertFalse(EntityTag.matches(tag1, tag2));
    assertFalse(EntityTag.matchesAny(tag1, new EntityTag[] {tag2}));
    assertEquals(tag1.toString(), "\"tag\"");
    assertEquals(tag2.toString(), "W/\"tag\"");
    tag1 = EntityTag.parse("\"tag\"");
    assertFalse(tag1.isWeak());
    assertEquals(tag1.getTag(), "tag");
    tag2 = EntityTag.parse("W/\"tag\"");
    assertTrue(tag2.isWeak());
    assertEquals(tag2.getTag(), "tag");   
    EntityTag[] tags = EntityTag.parseTags("\"tag1\", W/\"tag2\"");
    assertFalse(tags[0].isWeak());
    assertEquals(tags[0].getTag(), "tag1");
    assertTrue(tags[1].isWeak());
    assertEquals(tags[1].getTag(), "tag2");
View Full Code Here

    assertNotNull(sm);
    assertNotNull(sm.newServiceContext(new HashMap<String,String>()));
  }
 
  public static void testEntityTag() throws Exception {
    EntityTag etag1 = EntityTag.parse("\"foo\"");
    assertEquals(etag1.getTag(),"foo");
    assertFalse(etag1.isWeak());
   
    EntityTag etag2 = EntityTag.parse("W/\"foo\"");
    assertEquals(etag2.getTag(),"foo");
    assertTrue(etag2.isWeak());
   
    assertFalse(EntityTag.matches(etag1, etag2));
   
    EntityTag[] tags = EntityTag.parseTags("\"foo\", W/\"bar\"");
    assertTrue(EntityTag.matchesAny(etag1, tags));
   
    assertEquals(etag1.toString(), "\"foo\"");
    assertEquals(etag2.toString(), "W/\"foo\"");
  }
View Full Code Here

        IRI r = new IRI(getUri());
        cl = r.resolve(cl);
      }
      String base = (cl != null) ? cl.toASCIIString() : getUri();
      Document<T> doc = parser.parse(getReader(), base, options);
      EntityTag etag = getEntityTag();
      if (etag != null) doc.setEntityTag(etag);
      Date lm = getLastModified();
      if (lm != null) doc.setLastModified(lm);
      MimeType mt = getContentType();
      if (mt != null) doc.setContentType(mt.toString());
View Full Code Here

TOP

Related Classes of org.apache.abdera.util.EntityTag

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.