@Override public boolean exists(String setSpec) { for (Set s : this.sets) if (s.getSpec().equals(setSpec)) return true; return false; } }
public Context withSet(Set set) { if (!set.hasCondition()) throw new InternalOAIException("Context sets must have a condition"); this.sets.add(set); return this; }
@Override public ListSetsResult retrieveSets(int offset, int length) { logger.fine("calling retrieveSets()"); List<OAISet> dataverseOAISets = setService.findAllNamedSets(); List<Set> XOAISets = new ArrayList<Set>(); if (dataverseOAISets != null) { for (int i = 0; i < dataverseOAISets.size(); i++) { OAISet dataverseSet = dataverseOAISets.get(i); Set xoaiSet = new Set(dataverseSet.getSpec()); xoaiSet.withName(dataverseSet.getName()); XOAIMetadata xMetadata = new XOAIMetadata(); Element element = new Element("description"); element.withField("description", dataverseSet.getDescription()); xMetadata.getElements().add(element); xoaiSet.withDescription(xMetadata); XOAISets.add(xoaiSet); } } return new ListSetsResult(offset + length < XOAISets.size(), XOAISets.subList(offset, Math.min(offset + length, XOAISets.size()))); }
@Override public com.lyncode.xoai.dataprovider.model.Set apply(String elem) { return new com.lyncode.xoai.dataprovider.model.Set(elem); } });
private Header createHeader(OAICompiledRequest parameters, ItemIdentifier itemIdentifier) throws BadArgumentException, OAIException, NoMetadataFormatsException { MetadataFormat format = getContext().formatForPrefix(parameters .getMetadataPrefix()); if (!itemIdentifier.isDeleted() && !canDisseminate(itemIdentifier, format)) throw new InternalOAIException("The item repository is currently providing items which cannot be disseminated with format "+format.getPrefix()); Header header = new Header(); header.withDatestamp(itemIdentifier.getDatestamp()); header.withIdentifier(itemIdentifier.getIdentifier()); if (itemIdentifier.isDeleted()) header.withStatus(Header.Status.DELETED); for (Set set : getContext().getSets()) if (set.getCondition().getFilter(getRepository().getFilterResolver()).isItemShown(itemIdentifier)) header.withSetSpec(set.getSpec()); for (Set set : itemIdentifier.getSets()) header.withSetSpec(set.getSpec()); return header; }
public List<Set> getSets(Context context, FilterResolver resolver) { List<Set> result = new ArrayList<Set>(); for (Set set : context.getSets()) if (set.getCondition().getFilter(resolver).isItemShown(item)) result.add(set); result.addAll(item.getSets()); return result; } }
@Override public ListSets handle(OAICompiledRequest parameters) throws OAIException, HandlerException { ListSets result = new ListSets(); if (!getRepository().getSetRepository().supportSets()) throw new DoesNotSupportSetsException(); int length = getRepository().getConfiguration().getMaxListSets(); ListSetsResult listSetsResult = setRepositoryHelper.getSets(getContext(), getOffset(parameters), length); List<Set> sets = listSetsResult.getResults(); if (sets.isEmpty() && parameters.getResumptionToken().isEmpty()) throw new NoMatchesException(); if (sets.size() > length) sets = sets.subList(0, length); for (Set set : sets) { result.getSets().add(set.toOAIPMH()); } ResumptionToken.Value currentResumptionToken = new ResumptionToken.Value(); if (parameters.hasResumptionToken()) { currentResumptionToken = parameters.getResumptionToken(); } else if (listSetsResult.hasMore()) { currentResumptionToken = parameters.extractResumptionToken(); } ResumptionTokenHelper resumptionTokenHelper = new ResumptionTokenHelper(currentResumptionToken, getRepository().getConfiguration().getMaxListSets()); result.withResumptionToken(resumptionTokenHelper.resolve(listSetsResult.hasMore())); return result; }
public static Set set (String spec) { return new Set(spec); }
if (set.getCondition().getFilter(getRepository().getFilterResolver()).isItemShown(item)) header.withSetSpec(set.getSpec()); header.withSetSpec(set.getSpec());
public ListItemIdentifiersResult getItemIdentifiersUntil( Context context, int offset, int length, String metadataPrefix, String setSpec, Date until) throws CannotDisseminateFormatException, OAIException { List<ScopedFilter> filters = getScopedFilters(context, metadataPrefix); if (context.isStaticSet(setSpec)) { filters.add(new ScopedFilter(context.getSet(setSpec).getCondition(), Scope.Set)); return itemRepository.getItemIdentifiersUntil(filters, offset, length, until); } else return itemRepository.getItemIdentifiersUntil(filters, offset, length, setSpec, until); }
public Set getSet(String setSpec) { for (Set set : this.sets) if (set.getSpec().equals(setSpec)) return set; return null; }
public Xitem(OAIRecord oaiRecord) { super(); this.oaiRecord = oaiRecord; oaisets = new ArrayList<>(); if (!StringUtil.isEmpty(oaiRecord.getSetName())) { oaisets.add(new Set(oaiRecord.getSetName())); } }
public ListItemsResults getItems(Context context, int offset, int length, String metadataPrefix, String setSpec) throws CannotDisseminateFormatException, OAIException { List<ScopedFilter> filters = getScopedFilters(context, metadataPrefix); if (context.isStaticSet(setSpec)) { filters.add(new ScopedFilter(context.getSet(setSpec).getCondition(), Scope.Set)); return itemRepository.getItems(filters, offset, length); } else return itemRepository.getItems(filters, offset, length, setSpec); }
public boolean isStaticSet(String setSpec) { for (Set set : this.sets) if (set.getSpec().equals(setSpec)) return true; return false; }
xoaiItems.get(i).getSets().add(new Set(oaiRecords.get(j).getSetName())); j++;
public ListItemIdentifiersResult getItemIdentifiers(Context context, int offset, int length, String metadataPrefix, String setSpec) throws CannotDisseminateFormatException, OAIException { List<ScopedFilter> filters = getScopedFilters(context, metadataPrefix); if (context.isStaticSet(setSpec)) { filters.add(new ScopedFilter(context.getSet(setSpec).getCondition(), Scope.Set)); return itemRepository.getItemIdentifiers(filters, offset, length); } else return itemRepository.getItemIdentifiers(filters, offset, length, setSpec); }
public boolean exists(Context context, String setSpec) { List<Set> statics = context.getSets(); for (Set set : statics) if (set.getSpec().equals(set)) return true; return setRepository.exists(setSpec); }