/**
* Copyright 2014 Liverpool John Moores University <http://www.ljmu.ac.uk/cmp/>
* Aniketos Project FP7-ICT-257930 <http://www.aniketos.eu>
* David Llewellyn-Jones <D.Llewellyn-Jones@ljmu.ac.uk>
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 3 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library. If not, see <http://www.gnu.org/licenses/>.
*
*/
package eu.aniketos.ncvm.impl;
import eu.aniketos.spec.Declaration;
import eu.aniketos.spec.SConst;
class ConspecSupport {
static String getConspecIdentifier (eu.aniketos.spec.Specification spec) {
String id = "";
// If the two IDs are different, which takes priority? We assume the specification attribute identifier
id = spec.getAttribute("id");
if ((id == null) || (id.isEmpty())) {
if ((spec.getDefinition() != null) && (spec.getDefinition().identifier != null) && (spec.getDefinition().identifier.identifier != null)) {
id = spec.getDefinition().identifier.identifier;
}
}
return id;
}
static String getConspecService (eu.aniketos.spec.Specification spec) {
String service = "";
// Check the service global ID
for (Declaration declaration : spec.getDeclarations()) {
String id = declaration.identifier.identifier;
if (id.equalsIgnoreCase("ServiceID")) {
if (declaration.value instanceof SConst) {
service = ((SConst) declaration.value).text;
}
}
}
return service;
}
}