/** * Removes the prefixes of the parsed Site to the Map holding the according mappings * @param referencedSite */ private void removeEntityPrefixes(Site referencedSite) { String[] prefixes = referencedSite.getConfiguration().getEntityPrefixes(); if(prefixes == null || prefixes.length < 1){ synchronized (prefixMap) { noPrefixSites.remove(referencedSite); } } else { for(String prefix : prefixes){ synchronized (prefixMap) { Collection<Site> sites = prefixMap.get(prefix); if(sites != null){ sites.remove(referencedSite); if(sites.isEmpty()){ //remove key from the Map prefixMap.remove(prefix); //remove also the prefix from the List prefixList.remove(prefix); } } } } } } @Override
@Override public String getId() { return config.getId(); }
if(site.getConfiguration().getLicenses() != null){ for(License license : site.getConfiguration().getLicenses()){ if(license.getUrl() == null){ count++;
rep.add(namespace+"supportsSearch", site.supportsSearch()); SiteConfiguration config = site.getConfiguration(); rep.add("http://www.w3.org/2000/01/rdf-schema#label", config.getName()); rep.add("http://www.w3.org/1999/02/22-rdf-syntax-ns#type", valueFactory.createReference(namespace+"ReferencedSite")); if(config.getDescription() != null){ rep.add("http://www.w3.org/2000/01/rdf-schema#description", config.getDescription()); if(config.getAttribution() != null){ rep.add("http://creativecommons.org/ns#attributionName", config.getAttribution()); if(config.getAttributionUrl() != null){ rep.add("http://creativecommons.org/ns#attributionURL", config.getAttributionUrl()); if(config.getLicenses() != null){ int count = 0; for(License license : config.getLicenses()){ String licenseUrl; if(license.getUrl() != null){ if(config.getEntityPrefixes() != null){ for(String prefix : config.getEntityPrefixes()){ rep.add(namespace+"entityPrefix", prefix);
state = siteConfig.getDefaultManagedEntityState(); if(state == null){ state = config.getDefaultManagedEntityState(); managedEntity.addAttributionLink(site.getConfiguration().getAttributionUrl()); managedEntity.addAttributionText(site.getConfiguration().getAttribution(), null); managedEntity.addContributorName(site.getConfiguration().getName());
if(siteConfiguration.getAttribution() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"attributionName", vf.createText(siteConfiguration.getAttribution())); if(siteConfiguration.getAttributionUrl() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"attributionURL", vf.createReference(siteConfiguration.getAttributionUrl())); if(siteConfiguration.getLicenses() != null){ for(License license : siteConfiguration.getLicenses()){ if(license.getUrl() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"license",
@Override public Entity getEntity(String entityId) { Collection<Site> sites = getSitesByEntityPrefix(entityId); if(sites.isEmpty()){ log.info("No Referenced Site registered for Entity {}",entityId); log.debug("Registered Prefixes {}",prefixList); return null; } for(Site site : sites){ Entity entity; try { entity = site.getEntity(entityId); if(entity != null){ log.debug("Return Representation of Site {} for Entity {}", site.getConfiguration().getName(),entityId); return entity; } } catch (SiteException e) { log.warn("Unable to access Site "+site.getConfiguration().getName()+ " (id = "+site.getId()+")",e); } } log.debug("Entity {} not found on any of the following Sites {}",entityId,sites); return null; }
MappingState mappingState = siteConfig.getDefaultMappedEntityState(); if(mappingState == null){ mappingState = config.getDefaultMappingState(); long expireDuration = siteConfig.getDefaultExpireDuration(); if(expireDuration > 0){ Date expireDate = new Date(System.currentTimeMillis()+expireDuration);
state = siteConfig.getDefaultManagedEntityState(); if(state == null){ state = config.getDefaultManagedEntityState(); managedEntity.addAttributionLink(site.getConfiguration().getAttributionUrl()); managedEntity.addAttributionText(site.getConfiguration().getAttribution(), null); managedEntity.addContributorName(site.getConfiguration().getName());
if(siteConfiguration.getAttribution() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"attributionName", vf.createText(siteConfiguration.getAttribution())); if(siteConfiguration.getAttributionUrl() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"attributionURL", vf.createReference(siteConfiguration.getAttributionUrl())); if(siteConfiguration.getLicenses() != null){ for(License license : siteConfiguration.getLicenses()){ if(license.getUrl() != null){ siteMetadata.put(NamespaceEnum.cc.getNamespace()+"license",
@Override public Entity getEntity(String entityId) { Collection<Site> sites = getSitesByEntityPrefix(entityId); if(sites.isEmpty()){ log.info("No Referenced Site registered for Entity {}",entityId); log.debug("Registered Prefixes {}",prefixList); return null; } for(Site site : sites){ Entity entity; try { entity = site.getEntity(entityId); if(entity != null){ log.debug("Return Representation of Site {} for Entity {}", site.getConfiguration().getName(),entityId); return entity; } } catch (SiteException e) { log.warn("Unable to access Site "+site.getConfiguration().getName()+ " (id = "+site.getId()+")",e); } } log.debug("Entity {} not found on any of the following Sites {}",entityId,sites); return null; }
MappingState mappingState = siteConfig.getDefaultMappedEntityState(); if(mappingState == null){ mappingState = config.getDefaultMappingState(); long expireDuration = siteConfig.getDefaultExpireDuration(); if(expireDuration > 0){ Date expireDate = new Date(System.currentTimeMillis()+expireDuration);
@Override public InputStream getContent(String entityId, String contentType) { Collection<Site> sites = getSitesByEntityPrefix(entityId); if(sites.isEmpty()){ log.info("No Referenced Site registered for Entity {}",entityId); log.debug("Registered Prefixes {}",prefixList); return null; } for(Site site : sites){ InputStream content; try { content = site.getContent(entityId, contentType); if(content != null){ log.debug("Return Content of type {} for Entity {} from referenced site {}", new Object[]{contentType,entityId,site.getConfiguration().getName()}); return content; } } catch (SiteException e) { log.warn("Unable to access Site "+site.getConfiguration().getName()+ " (id = "+site.getId()+")",e); } } log.debug("Entity {} not found on any of the following Sites {}",entityId,sites); return null; } @Override
@Override public boolean equals(Object obj) { if (obj instanceof Site) { SiteConfiguration osc = ((Site) obj).getConfiguration(); // this will return false if one of the two sites is not activated // -> this should be OK return siteConfiguration != null && osc != null && getId().equals(osc.getId()); } else { return false; } }
/** * Removes the prefixes of the parsed Site to the Map holding the according mappings * @param referencedSite */ private void removeEntityPrefixes(Site referencedSite) { String[] prefixes = referencedSite.getConfiguration().getEntityPrefixes(); if(prefixes == null || prefixes.length < 1){ synchronized (prefixMap) { noPrefixSites.remove(referencedSite); } } else { for(String prefix : prefixes){ synchronized (prefixMap) { Collection<Site> sites = prefixMap.get(prefix); if(sites != null){ sites.remove(referencedSite); if(sites.isEmpty()){ //remove key from the Map prefixMap.remove(prefix); //remove also the prefix from the List prefixList.remove(prefix); } } } } } } @Override
@Override public InputStream getContent(String entityId, String contentType) { Collection<Site> sites = getSitesByEntityPrefix(entityId); if(sites.isEmpty()){ log.info("No Referenced Site registered for Entity {}",entityId); log.debug("Registered Prefixes {}",prefixList); return null; } for(Site site : sites){ InputStream content; try { content = site.getContent(entityId, contentType); if(content != null){ log.debug("Return Content of type {} for Entity {} from referenced site {}", new Object[]{contentType,entityId,site.getConfiguration().getName()}); return content; } } catch (SiteException e) { log.warn("Unable to access Site "+site.getConfiguration().getName()+ " (id = "+site.getId()+")",e); } } log.debug("Entity {} not found on any of the following Sites {}",entityId,sites); return null; } @Override
@Override public boolean equals(Object obj) { if (obj instanceof Site) { SiteConfiguration osc = ((Site) obj).getConfiguration(); // this will return false if one of the two sites is not activated // -> this should be OK return siteConfiguration != null && osc != null && getId().equals(osc.getId()); } else { return false; } }
String[] prefixArray = referencedSite.getConfiguration().getEntityPrefixes(); if(prefixArray == null || prefixArray.length < 1){ synchronized (prefixMap) {
entity = site.getEntity(id); } catch (SiteException e) { log.error("ReferencedSiteException while accessing Site " + site.getConfiguration().getName() + " (id=" + site.getId() + ")", e); throw new WebApplicationException(e, Response.Status.INTERNAL_SERVER_ERROR);
@Override public Entity getEntity(String id) throws ManagedSiteException { Representation rep; try { rep = getYard().getRepresentation(id); } catch (YardException e) { throw new ManagedSiteException(e.getMessage(), e); } if(rep != null){ Entity entity = new EntityImpl(config.getId(), rep, null); SiteUtils.initEntityMetadata(entity, siteMetadata, null); return entity; } else { return null; } }