public XdataProvider (Context context, Repository repository) { this.repository = repository; this.dateProvider = new UTCDateProvider(); this.identifyHandler = new IdentifyHandler(context, repository); this.listSetsHandler = new ListSetsHandler(context, repository); this.listMetadataFormatsHandler = new ListMetadataFormatsHandler(context, repository); this.listRecordsHandler = new XlistRecordsHandler(context, repository); this.listIdentifiersHandler = new ListIdentifiersHandler(context, repository); //this.getRecordHandler = new GetRecordHandler(context, repository); this.getRecordHandler = new XgetRecordHandler(context, repository); this.errorsHandler = new ErrorHandler(); }
@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; }
break; case ListSets: response.withVerb(listSetsHandler.handle(parameters)); break; case ListMetadataFormats:
public ListSetsHandler(Context context, Repository repository) { super(context, repository); this.setRepositoryHelper = new SetRepositoryHelper(getRepository().getSetRepository()); }
break; case ListSets: response.withVerb(listSetsHandler.handle(parameters)); break; case ListMetadataFormats:
public DataProvider (Context context, Repository repository) { this.repository = repository; this.dateProvider = new UTCDateProvider(); this.identifyHandler = new IdentifyHandler(context, repository); this.listSetsHandler = new ListSetsHandler(context, repository); this.listMetadataFormatsHandler = new ListMetadataFormatsHandler(context, repository); this.listRecordsHandler = new ListRecordsHandler(context, repository); this.listIdentifiersHandler = new ListIdentifiersHandler(context, repository); this.getRecordHandler = new GetRecordHandler(context, repository); this.errorsHandler = new ErrorHandler(); }