/*
* Copyright 2008-2014 Amazon Technologies, Inc.
*
* 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://aws.amazon.com/apache2.0
*
* This file 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 com.amazonaws.eclipse.core.diagnostic.model;
import java.io.PrintWriter;
import java.io.StringWriter;
import java.util.LinkedList;
import java.util.List;
import org.osgi.framework.Bundle;
/**
* The data model containing all the platform runtime environment information.
*/
public class PlatformEnvironmentDataModel {
/* Provided by JRE */
private String osName;
private String osVersion;
private String osArch;
private String javaVmName;
private String javaVmVersion;
private String javaVersion;
/* Eclipse plugin bundles */
private String eclipsePlatformVersion;
private List<Bundle> installedBundles = new LinkedList<Bundle>();
public String getOsName() {
return osName;
}
public void setOsName(String osName) {
this.osName = osName;
}
public String getOsVersion() {
return osVersion;
}
public void setOsVersion(String osVersion) {
this.osVersion = osVersion;
}
public String getOsArch() {
return osArch;
}
public void setOsArch(String osArch) {
this.osArch = osArch;
}
public String getJavaVmName() {
return javaVmName;
}
public void setJavaVmName(String javaVmName) {
this.javaVmName = javaVmName;
}
public String getJavaVmVersion() {
return javaVmVersion;
}
public void setJavaVmVersion(String javaVmVersion) {
this.javaVmVersion = javaVmVersion;
}
public String getJavaVersion() {
return javaVersion;
}
public void setJavaVersion(String javaVersion) {
this.javaVersion = javaVersion;
}
public String getEclipsePlatformVersion() {
return eclipsePlatformVersion;
}
public void setEclipsePlatformVersion(String eclipsePlatformVersion) {
this.eclipsePlatformVersion = eclipsePlatformVersion;
}
public List<Bundle> getInstalledBundles() {
return new LinkedList<Bundle>(installedBundles);
}
public void addInstalledBundle(Bundle bundle) {
this.installedBundles.add(bundle);
}
@Override
public String toString() {
StringWriter sb = new StringWriter();
PrintWriter pw = new PrintWriter(sb);
pw.println("============= Platform environment =============");
pw.println();
pw.print("Eclipse platform version : ");
pw.println(getEclipsePlatformVersion());
pw.print("OS name : ");
pw.println(getOsName());
pw.print("OS version : ");
pw.println(getOsVersion());
pw.print("OS architecture : ");
pw.println(getOsArch());
pw.print("JVM name : ");
pw.println(getJavaVmName());
pw.print("JVM version : ");
pw.println(getJavaVmVersion());
pw.print("Java lang version : ");
pw.println(getJavaVersion());
pw.println();
pw.println("============= Installed Plug-ins =============");
pw.println();
for (Bundle bundle : getInstalledBundles()) {
pw.println(bundle.toString());
}
return sb.toString();
}
}