Skip to content
Snippets Groups Projects
Commit 33c7cebf authored by felmer's avatar felmer
Browse files

SSDM-2718: API extension for generic services. No implementations yet.

SVN: 35333
parent c6685a51
No related branches found
No related tags found
No related merge requests found
Showing
with 464 additions and 0 deletions
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package ch.ethz.sis.openbis.generic.server.api.v3; package ch.ethz.sis.openbis.generic.server.api.v3;
import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -68,6 +69,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId; ...@@ -68,6 +69,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions;
...@@ -103,6 +107,7 @@ import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchMaterial ...@@ -103,6 +107,7 @@ import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchMaterial
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchProjectMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchProjectMethodExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchSampleMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchSampleMethodExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchSpaceMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.ISearchSpaceMethodExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IServiceMethodsExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateDataSetMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateDataSetMethodExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateExperimentMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateExperimentMethodExecutor;
import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateMaterialMethodExecutor; import ch.ethz.sis.openbis.generic.server.api.v3.executor.method.IUpdateMaterialMethodExecutor;
...@@ -236,6 +241,9 @@ public class ApplicationServerApi extends AbstractServer<IApplicationServerApi> ...@@ -236,6 +241,9 @@ public class ApplicationServerApi extends AbstractServer<IApplicationServerApi>
@Autowired @Autowired
private IConfirmDeletionMethodExecutor confirmDeletionExecutor; private IConfirmDeletionMethodExecutor confirmDeletionExecutor;
@Autowired
private IServiceMethodsExecutor serviceMethodsExecutor;
// Default constructor needed by Spring // Default constructor needed by Spring
public ApplicationServerApi() public ApplicationServerApi()
...@@ -578,6 +586,22 @@ public class ApplicationServerApi extends AbstractServer<IApplicationServerApi> ...@@ -578,6 +586,22 @@ public class ApplicationServerApi extends AbstractServer<IApplicationServerApi>
confirmDeletionExecutor.confirm(sessionToken, deletionIds); confirmDeletionExecutor.confirm(sessionToken, deletionIds);
} }
@Override
@RolesAllowed({ RoleWithHierarchy.SPACE_OBSERVER, RoleWithHierarchy.SPACE_ETL_SERVER })
@Capability("LIST_SERVICES")
public List<Service> listServices(String sessionToken, ServiceFetchOptions fetchOptions)
{
return serviceMethodsExecutor.listServices(sessionToken, fetchOptions);
}
@Override
@RolesAllowed({ RoleWithHierarchy.SPACE_OBSERVER, RoleWithHierarchy.SPACE_ETL_SERVER })
@Capability("EXECUTE_SERVICE")
public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, String> parameters)
{
return serviceMethodsExecutor.executeService(sessionToken, serviceId, parameters);
}
@Override @Override
public IApplicationServerApi createLogger(IInvocationLoggerContext context) public IApplicationServerApi createLogger(IInvocationLoggerContext context)
{ {
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package ch.ethz.sis.openbis.generic.server.api.v3; package ch.ethz.sis.openbis.generic.server.api.v3;
import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -64,6 +65,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId; ...@@ -64,6 +65,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions;
...@@ -336,4 +340,18 @@ public class ApplicationServerApiLogger extends AbstractServerLogger implements ...@@ -336,4 +340,18 @@ public class ApplicationServerApiLogger extends AbstractServerLogger implements
logAccess(sessionToken, "confirm-deletions", "DELETION_IDS(%s)", abbreviate(deletionIds)); logAccess(sessionToken, "confirm-deletions", "DELETION_IDS(%s)", abbreviate(deletionIds));
} }
@Override
public List<Service> listServices(String sessionToken, ServiceFetchOptions fetchOptions)
{
logAccess(sessionToken, "list-services", "FETCH_OPTIONS(%s)", fetchOptions);
return null;
}
@Override
public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, String> parameters)
{
logAccess(sessionToken, "execute-service", "SERVICE_ID(%s) PARAMETERS(%)", serviceId, parameters);
return null;
}
} }
/*
* Copyright 2015 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.api.v3.executor.method;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
/**
*
*
* @author Franz-Josef Elmer
*/
public interface IServiceMethodsExecutor
{
public List<Service> listServices(String sessionToken, ServiceFetchOptions fetchOptions);
public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, String> parameters);
}
/*
* Copyright 2015 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.api.v3.executor.method;
import java.io.Serializable;
import java.util.List;
import java.util.Map;
import java.util.Properties;
import javax.annotation.Resource;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.stereotype.Component;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
import ch.systemsx.cisd.common.spring.ExposablePropertyPlaceholderConfigurer;
/**
*
*
* @author Franz-Josef Elmer
*/
@Component
public class ServiceMethodsExecutor extends AbstractMethodExecutor implements IServiceMethodsExecutor, InitializingBean
{
@Resource(name = ExposablePropertyPlaceholderConfigurer.PROPERTY_CONFIGURER_BEAN_NAME)
protected ExposablePropertyPlaceholderConfigurer configurer;
@Override
public void afterPropertiesSet() throws Exception
{
Properties props = configurer == null ? new Properties() : configurer.getResolvedProps();
}
@Override
public List<Service> listServices(String sessionToken, ServiceFetchOptions fetchOptions)
{
// TODO Auto-generated method stub
return null;
}
@Override
public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, String> parameters)
{
// TODO Auto-generated method stub
return null;
}
}
...@@ -59,6 +59,7 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.fetchoptions.SampleFetch ...@@ -59,6 +59,7 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.fetchoptions.SampleFetch
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.fetchoptions.SampleTypeFetchOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.fetchoptions.SampleTypeFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SampleIdentifier; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SampleIdentifier;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.fetchoptions.SpaceFetchOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.fetchoptions.SpaceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.id.SpacePermId; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.id.SpacePermId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.tag.fetchoptions.TagFetchOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.tag.fetchoptions.TagFetchOptions;
...@@ -542,6 +543,18 @@ public class Generator extends AbstractGenerator ...@@ -542,6 +543,18 @@ public class Generator extends AbstractGenerator
return gen; return gen;
} }
private static DtoGenerator createServiceGenerator()
{
DtoGenerator gen = new DtoGenerator("service", "Service", ServiceFetchOptions.class);
addCode(gen);
gen.addStringField("label");
gen.addStringField("description");
gen.setToStringMethod("\"Service code: \" + code");
return gen;
}
public static void main(String[] args) throws FileNotFoundException public static void main(String[] args) throws FileNotFoundException
{ {
List<DtoGenerator> list = new LinkedList<DtoGenerator>(); List<DtoGenerator> list = new LinkedList<DtoGenerator>();
...@@ -569,6 +582,7 @@ public class Generator extends AbstractGenerator ...@@ -569,6 +582,7 @@ public class Generator extends AbstractGenerator
list.add(createDeletion()); list.add(createDeletion());
list.add(createDataStoreGenerator()); list.add(createDataStoreGenerator());
list.add(createExternalDmsGenerator()); list.add(createExternalDmsGenerator());
list.add(createServiceGenerator());
for (DtoGenerator gen : list) for (DtoGenerator gen : list)
{ {
......
...@@ -16,6 +16,7 @@ ...@@ -16,6 +16,7 @@
package ch.ethz.sis.openbis.generic.as.api.v3; package ch.ethz.sis.openbis.generic.as.api.v3;
import java.io.Serializable;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -63,6 +64,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId; ...@@ -63,6 +64,9 @@ import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.ISampleId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.id.SamplePermId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.search.SampleSearchCriteria;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate; import ch.ethz.sis.openbis.generic.as.api.v3.dto.sample.update.SampleUpdate;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.id.IServiceId;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.Space;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.create.SpaceCreation;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions; import ch.ethz.sis.openbis.generic.as.api.v3.dto.space.delete.SpaceDeletionOptions;
...@@ -165,5 +169,9 @@ public interface IApplicationServerApi extends IRpcService ...@@ -165,5 +169,9 @@ public interface IApplicationServerApi extends IRpcService
public void revertDeletions(String sessionToken, List<? extends IDeletionId> deletionIds); public void revertDeletions(String sessionToken, List<? extends IDeletionId> deletionIds);
public void confirmDeletions(String sessionToken, List<? extends IDeletionId> deletionIds); public void confirmDeletions(String sessionToken, List<? extends IDeletionId> deletionIds);
public List<Service> listServices(String sessionToken, ServiceFetchOptions fetchOptions);
public Serializable executeService(String sessionToken, IServiceId serviceId, Map<String, String> parameters);
} }
/*
* Copyright 2015 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.as.api.v3;
import java.io.Serializable;
import java.util.Map;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
/**
* Executor of a {@link Service}.
*
* @author Franz-Josef Elmer
*/
public interface IServiceExecutor
{
public Serializable executeService(Map<String, String> parameters);
}
/*
* Copyright 2014 ETH Zuerich, CISD
*
* 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.as.api.v3.dto.service;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.common.interfaces.ICodeHolder;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.fetchoptions.ServiceFetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.exceptions.NotFetchedException;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
/*
* Class automatically generated with DtoGenerator
*/
@JsonObject("dto.service.Service")
public class Service implements Serializable, ICodeHolder
{
private static final long serialVersionUID = 1L;
@JsonProperty
private ServiceFetchOptions fetchOptions;
@JsonProperty
private String code;
@JsonProperty
private String label;
@JsonProperty
private String description;
// Method automatically generated with DtoGenerator
@JsonIgnore
public ServiceFetchOptions getFetchOptions()
{
return fetchOptions;
}
// Method automatically generated with DtoGenerator
public void setFetchOptions(ServiceFetchOptions fetchOptions)
{
this.fetchOptions = fetchOptions;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
@Override
public String getCode()
{
return code;
}
// Method automatically generated with DtoGenerator
public void setCode(String code)
{
this.code = code;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
public String getLabel()
{
return label;
}
// Method automatically generated with DtoGenerator
public void setLabel(String label)
{
this.label = label;
}
// Method automatically generated with DtoGenerator
@JsonIgnore
public String getDescription()
{
return description;
}
// Method automatically generated with DtoGenerator
public void setDescription(String description)
{
this.description = description;
}
// Method automatically generated with DtoGenerator
@Override
public String toString()
{
return "Service code: " + code;
}
}
/*
* Copyright 2014 ETH Zuerich, CISD
*
* 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.as.api.v3.dto.service.fetchoptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.common.fetchoptions.FetchOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.systemsx.cisd.base.annotation.JsonObject;
import com.fasterxml.jackson.annotation.JsonProperty;
import java.io.Serializable;
/*
* Class automatically generated with DtoGenerator
*/
@JsonObject("dto.service.fetchoptions.ServiceFetchOptions")
public class ServiceFetchOptions extends FetchOptions<Service> implements Serializable
{
private static final long serialVersionUID = 1L;
@JsonProperty
private ServiceSortOptions sort;
// Method automatically generated with DtoGenerator
@Override
public ServiceSortOptions sortBy()
{
if (sort == null)
{
sort = new ServiceSortOptions();
}
return sort;
}
// Method automatically generated with DtoGenerator
@Override
public ServiceSortOptions getSortBy()
{
return sort;
}
}
/*
* Copyright 2015 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.as.api.v3.dto.service.fetchoptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.common.fetchoptions.SortOptions;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.service.Service;
import ch.systemsx.cisd.base.annotation.JsonObject;
/**
*
*
* @author Franz-Josef Elmer
*/
@JsonObject("dto.service.fetchoptions.ServiceSortOptions")
public class ServiceSortOptions extends SortOptions<Service>
{
private static final long serialVersionUID = 1L;
}
/*
* Copyright 2015 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.as.api.v3.dto.service.id;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.common.id.IObjectId;
import ch.systemsx.cisd.base.annotation.JsonObject;
/**
* Holds information that uniquely identifies a generic service in openBIS.
*
* @author Franz-Josef Elmer
*/
@JsonObject("dto.service.id.IServiceId")
public interface IServiceId extends IObjectId
{
}
/*
* Copyright 2015 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.as.api.v3.dto.service.id;
import ch.ethz.sis.openbis.generic.as.api.v3.dto.common.id.ObjectPermId;
import ch.systemsx.cisd.base.annotation.JsonObject;
/**
* Generic service perm id. This is the core plugin name.
*
* @author Franz-Josef Elmer
*/
@JsonObject("dto.service.id.ServicePermId")
public class ServicePermId extends ObjectPermId implements IServiceId
{
private static final long serialVersionUID = 1L;
public ServicePermId(String permId)
{
super(permId);
}
//
// JSON-RPC
//
@SuppressWarnings("unused")
private ServicePermId()
{
}
}
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