Skip to content
Snippets Groups Projects
Commit 765391d5 authored by felmer's avatar felmer
Browse files

SSDM-7857: Add spaces to resourcelist

parent e648ea21
No related branches found
No related tags found
No related merge requests found
...@@ -163,6 +163,7 @@ public class DataSourceRequestHandler implements IRequestHandler ...@@ -163,6 +163,7 @@ public class DataSourceRequestHandler implements IRequestHandler
Deliverers deliverers = new Deliverers(); Deliverers deliverers = new Deliverers();
deliverers.addDeliverer(new MasterDataDeliverer(deliveryContext)); deliverers.addDeliverer(new MasterDataDeliverer(deliveryContext));
deliverers.addDeliverer(new MaterialDeliverer(deliveryContext)); deliverers.addDeliverer(new MaterialDeliverer(deliveryContext));
deliverers.addDeliverer(new SpaceDeliverer(deliveryContext));
deliverers.addDeliverer(new ProjectDeliverer(deliveryContext)); deliverers.addDeliverer(new ProjectDeliverer(deliveryContext));
deliverers.addDeliverer(new ExperimentDeliverer(deliveryContext)); deliverers.addDeliverer(new ExperimentDeliverer(deliveryContext));
deliverers.addDeliverer(new SampleDeliverer(deliveryContext)); deliverers.addDeliverer(new SampleDeliverer(deliveryContext));
......
/*
* Copyright 2019 ETH Zuerich, SIS
*
* Licensed 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 ch.ethz.sis.openbis.generic.server.dss.plugins.sync.datasource;
import java.util.Collection;
import java.util.List;
import java.util.Set;
import java.util.stream.Collectors;
import javax.xml.stream.XMLStreamException;
import javax.xml.stream.XMLStreamWriter;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.fetchoptions.SpaceFetchOptions;
import ch.ethz.sis.openbis.generic.asapi.v3.dto.space.id.SpacePermId;
/**
* @author Franz-Josef Elmer
*
*/
public class SpaceDeliverer extends AbstractEntityWithPermIdDeliverer
{
SpaceDeliverer(DeliveryContext context)
{
super(context, "space", "spaces", "code");
}
@Override
protected void deliverEntities(XMLStreamWriter writer, String sessionToken, Set<String> spaces, List<String> allSpaces) throws XMLStreamException
{
List<SpacePermId> permIds = allSpaces.stream().map(SpacePermId::new).collect(Collectors.toList());
Collection<Space> fullSpaces = context.getV3api().getSpaces(sessionToken, permIds, createSpaceFetchOptions()).values();
int count = 0;
for (Space space : fullSpaces)
{
String code = space.getCode();
if (spaces.contains(code))
{
startUrlElement(writer, "SPACE", code, space.getModificationDate());
startXdElement(writer);
addAttribute(writer, "desc", space.getDescription());
addRegistrationDate(writer, space);
addRegistrator(writer, space);
writer.writeEndElement();
writer.writeEndElement();
count++;
}
}
operationLog.info(count + " of " + allSpaces.size() + " spaces have been delivered.");
}
private SpaceFetchOptions createSpaceFetchOptions()
{
SpaceFetchOptions fetchOptions = new SpaceFetchOptions();
fetchOptions.withRegistrator();
return fetchOptions;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment