Add winery source code
[vfc/nfvo/wfengine.git] / winery / org.eclipse.winery.repository / src / main / java / org / eclipse / winery / repository / resources / entitytypes / nodetypes / reqandcapdefs / CapabilityDefinitionsResource.java
1 /*******************************************************************************
2  * Copyright (c) 2012-2013 University of Stuttgart.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * and the Apache License 2.0 which both accompany this distribution,
6  * and are available at http://www.eclipse.org/legal/epl-v10.html
7  * and http://www.apache.org/licenses/LICENSE-2.0
8  *
9  * Contributors:
10  *     Oliver Kopp - initial API and implementation
11  *******************************************************************************/
12 package org.eclipse.winery.repository.resources.entitytypes.nodetypes.reqandcapdefs;
13
14 import java.util.Collection;
15 import java.util.List;
16 import java.util.SortedSet;
17
18 import javax.xml.namespace.QName;
19
20 import org.eclipse.winery.common.ids.definitions.CapabilityTypeId;
21 import org.eclipse.winery.model.tosca.TCapabilityDefinition;
22 import org.eclipse.winery.repository.backend.BackendUtils;
23 import org.eclipse.winery.repository.backend.Repository;
24 import org.eclipse.winery.repository.resources.entitytypes.nodetypes.NodeTypeResource;
25 import org.slf4j.Logger;
26 import org.slf4j.LoggerFactory;
27
28 import com.sun.jersey.api.view.Viewable;
29
30 public class CapabilityDefinitionsResource extends RequirementOrCapabilityDefinitionsResource<CapabilityDefinitionResource, TCapabilityDefinition> {
31         
32         private static final Logger logger = LoggerFactory.getLogger(CapabilityDefinitionsResource.class);
33         
34         
35         public CapabilityDefinitionsResource(NodeTypeResource res, List<TCapabilityDefinition> defs) {
36                 super(CapabilityDefinitionResource.class, TCapabilityDefinition.class, defs, res);
37         }
38         
39         @Override
40         public Viewable getHTML() {
41                 return new Viewable("/jsp/entitytypes/nodetypes/reqandcapdefs/capdefs.jsp", this);
42         }
43         
44         @Override
45         public Collection<QName> getAllTypes() {
46                 SortedSet<CapabilityTypeId> allTOSCAComponentIds = Repository.INSTANCE.getAllTOSCAComponentIds(CapabilityTypeId.class);
47                 return BackendUtils.convertTOSCAComponentIdCollectionToQNameCollection(allTOSCAComponentIds);
48         }
49         
50 }