/** * Adjust the pluginId TODO - this may be wrong if singleton is used */ public static void adjustFeaturePluginData(Document featureSpec, File pluginDir, Log log) throws IOException { //get list of all plugins NodeList plugins = featureSpec.getElementsByTagName("plugin"); for(int i=0; i<plugins.getLength(); ++i) { Node n = plugins.item(i); if (n instanceof Element) { Element el = (Element)n; String pluginId = el.getAttribute("id"); File[] files = findFiles(pluginDir, pluginId); if (files.length == 0) { log.error("Cannot find plugin "+pluginId); } else { //in case more than one plugin with same id Arrays.sort(files,fileComparator); //File firstFile = files[0]; File lastFile = files[files.length-1]; //String firstVersion = BundleUtils.INSTANCE.getBundleVersion(new Jar(firstFile)); String lastVersion = BundleUtils.INSTANCE.getBundleVersion(new Jar(lastFile)); //may throw IOException log.info("Adjusting version for plugin "+pluginId+" to "+lastVersion); el.setAttribute("version", lastVersion); } } } }
/** * convert pit attribute assign values * @param attributeAssignValueSet should be the value row * @return the results */ public static WsAttributeAssignValue[] convertPITAttributeAssignValues(Set<PITAttributeAssignValue> attributeAssignValueSet) { int attributeAssignSetLength = GrouperUtil.length(attributeAssignValueSet); if (attributeAssignSetLength == 0) { return null; } WsAttributeAssignValue[] wsAttributeAssignValueResultArray = new WsAttributeAssignValue[attributeAssignSetLength]; int index = 0; for (PITAttributeAssignValue attributeAssignValue : attributeAssignValueSet) { wsAttributeAssignValueResultArray[index++] = new WsAttributeAssignValue(attributeAssignValue); } Arrays.sort(wsAttributeAssignValueResultArray); return wsAttributeAssignValueResultArray; }
/** * convert attribute assigns * @param attributeAssignValueSet should be the value row * @return the subject results */ public static WsAttributeAssignValue[] convertAttributeAssigns(Set<AttributeAssignValue> attributeAssignValueSet) { int attributeAssignSetLength = GrouperUtil.length(attributeAssignValueSet); if (attributeAssignSetLength == 0) { return null; } WsAttributeAssignValue[] wsAttributeAssignValueResultArray = new WsAttributeAssignValue[attributeAssignSetLength]; int index = 0; for (AttributeAssignValue attributeAssignValue : attributeAssignValueSet) { wsAttributeAssignValueResultArray[index++] = new WsAttributeAssignValue(attributeAssignValue); } Arrays.sort(wsAttributeAssignValueResultArray); return wsAttributeAssignValueResultArray; }
i++; Arrays.sort(wsAttributeAssignValueResultArray); wsAssignAttributeResult.setWsAttributeAssignValueResults(wsAttributeAssignValueResultArray);