Pour extraire un actif du serveur, il vous faut d'abord un objet com.ibm.ram.client.RAMAsset. Cet objet représente les métadonnées de l'actif. Vous pouvez utiliser sa méthode getContents() pour obtenir l'actif proprement dit sous forme de fichier RAS.
// Extraire un actif en spécifiant son GUID et une version particulière (seules sont extraites les métadonnées de l'actif, et non l'actif lui-même)
RAMAsset asset = session.getAsset(new AssetIdentification("{AC0D54C1-E349-69EC-030F-E51CB557B0D7}", "7.1"));
Une fois
en possession de l'actif, vous pouvez lire/écrire ses propriétés au moyen des méthodes get et set prévues à cet effet. Par exemple : // Vérifier les métadonnées de l'actif
assertEquals("Javadoc API client RAM", asset.getName());
assertEquals("Javadoc de l'API client de Rational Asset Manager", asset.getDescription());
assertEquals("Documentation", asset.getAssetType().getName());
assertEquals("Développement RAM", asset.getCommunity().getName());
assertEquals("Joe Satriani", asset.getOwners()[0].getName());
Pour télécharger
l'actif sous forme de fichier RAS, utilisez la
méthode getContents() : // Télécharger le contenu sous forme de fichier .ras
ZipInputStream in = null;
File file = null;
FileOutputStream output = null;
byte[] buffer = new byte[100000];
try {
file = new File("D:\\temp\\newAsset.ras"); //$NON-NLS-1$
output = new FileOutputStream(file);
in = new ZipInputStream(asset.getContents());
int read;
int start = 0;
while ((read = in.read(buffer, start, buffer.length - start)) > -1) {
start += read;
if (start >= buffer.length) {
output.write(buffer);
start = 0;
}
}
if (start > 0)
output.write(buffer, 0, start);
} finally {
try {
if (in != null)
in.close();
} catch (IOException e) {
}
try {
if (output != null)
output.close();
} catch (IOException e) {
}
}