// Path: fabric.lib/src/fabric/registry/exception/PersistenceException.java
// public class PersistenceException extends Exception {
// 
// 	/** Copyright notice. */
// 	public static final String copyrightNotice = "(C) Copyright IBM Corp. 2009";
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private String errorMessage = null;
// 	private int errorCode = 0;
// 	private String sqlState = null;
// 
// 	/**
// 	 * 
// 	 */
// 	public PersistenceException() {
// 	}
// 
// 	/**
// 	 * 
// 	 * @param msg
// 	 */
// 	public PersistenceException(String msg) {
// 		super(msg);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param detailMessage
// 	 * @param throwable
// 	 */
// 	public PersistenceException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param throwable
// 	 */
// 	public PersistenceException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param message
// 	 * @param errorMessage
// 	 * @param errorCode
// 	 * @param sqlState
// 	 */
// 	public PersistenceException(String message, String errorMessage, int errorCode, String sqlState) {
// 		super(message);
// 
// 		this.errorMessage = errorMessage;
// 		this.errorCode = errorCode;
// 		this.sqlState = sqlState;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public int getErrorCode() {
// 		return errorCode;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param errorCode
// 	 */
// 	public void setErrorCode(int errorCode) {
// 		this.errorCode = errorCode;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public String getErrorMessage() {
// 		return errorMessage;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param errorMessage
// 	 */
// 	public void setErrorMessage(String errorMessage) {
// 		this.errorMessage = errorMessage;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public String getSqlState() {
// 		return sqlState;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param sqlState
// 	 */
// 	public void setSqlState(String sqlState) {
// 		this.sqlState = sqlState;
// 	}
// }


import fabric.registry.FabricRegistry;
import fabric.registry.QueryScope;
import fabric.registry.RegistryObject;
import fabric.registry.System;
import fabric.registry.SystemFactory;
import fabric.registry.exception.DuplicateKeyException;
import fabric.registry.exception.IncompleteObjectException;
import fabric.registry.exception.PersistenceException;
import fabric.registry.exception.RegistryQueryException;
import fabric.registry.persistence.IPersistenceResultRow;
     * @param readiness
     * @param availability
     * @param latitude
     * @param longitude
     * @param altitude
     * @param bearing
     * @param velocity
     * @param description
     * @param attributes
     * @param attributesURI
     * @return
     */
    private System createSystem(String platformID, String systemId, String typeID, String kind, String credentials,
            String readiness, String availability, double latitude, double longitude, double altitude, double bearing,
            double velocity, String description, String attributes, String attributesURI) {

        System s = new SystemImpl(platformID, systemId, typeID, "SERVICE", credentials, readiness, availability,
                latitude, longitude, altitude, bearing, velocity, description, attributes, attributesURI);
        return s;
    }

    /**
     * @see fabric.registry.SystemFactory#getAll()
     */
    @Override
    public System[] getAll() {

        System[] systems = null;
        try {
            systems = runQuery(SELECT_ALL_QUERY);
// Path: fabric.lib/src/fabric/registry/exception/PersistenceException.java
// public class PersistenceException extends Exception {
// 
// 	/** Copyright notice. */
// 	public static final String copyrightNotice = "(C) Copyright IBM Corp. 2009";
// 
// 	private static final long serialVersionUID = 1L;
// 
// 	private String errorMessage = null;
// 	private int errorCode = 0;
// 	private String sqlState = null;
// 
// 	/**
// 	 * 
// 	 */
// 	public PersistenceException() {
// 	}
// 
// 	/**
// 	 * 
// 	 * @param msg
// 	 */
// 	public PersistenceException(String msg) {
// 		super(msg);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param detailMessage
// 	 * @param throwable
// 	 */
// 	public PersistenceException(String detailMessage, Throwable throwable) {
// 		super(detailMessage, throwable);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param throwable
// 	 */
// 	public PersistenceException(Throwable throwable) {
// 		super(throwable);
// 	}
// 
// 	/**
// 	 * 
// 	 * @param message
// 	 * @param errorMessage
// 	 * @param errorCode
// 	 * @param sqlState
// 	 */
// 	public PersistenceException(String message, String errorMessage, int errorCode, String sqlState) {
// 		super(message);
// 
// 		this.errorMessage = errorMessage;
// 		this.errorCode = errorCode;
// 		this.sqlState = sqlState;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public int getErrorCode() {
// 		return errorCode;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param errorCode
// 	 */
// 	public void setErrorCode(int errorCode) {
// 		this.errorCode = errorCode;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public String getErrorMessage() {
// 		return errorMessage;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param errorMessage
// 	 */
// 	public void setErrorMessage(String errorMessage) {
// 		this.errorMessage = errorMessage;
// 	}
// 
// 	/**
// 	 * 
// 	 * @return
// 	 */
// 	public String getSqlState() {
// 		return sqlState;
// 	}
// 
// 	/**
// 	 * 
// 	 * @param sqlState
// 	 */
// 	public void setSqlState(String sqlState) {
// 		this.sqlState = sqlState;
// 	}
// }


// Path: fabric.lib/src/fabric/registry/impl/SystemFactoryImpl.java
import fabric.registry.FabricRegistry;
import fabric.registry.QueryScope;
import fabric.registry.RegistryObject;
import fabric.registry.System;
import fabric.registry.SystemFactory;
import fabric.registry.exception.DuplicateKeyException;
import fabric.registry.exception.IncompleteObjectException;
import fabric.registry.exception.PersistenceException;
import fabric.registry.exception.RegistryQueryException;
import fabric.registry.persistence.IPersistenceResultRow;

     * @param readiness
     * @param availability
     * @param latitude
     * @param longitude
     * @param altitude
     * @param bearing
     * @param velocity
     * @param description
     * @param attributes
     * @param attributesURI
     * @return
     */
    private System createSystem(String platformID, String systemId, String typeID, String kind, String credentials,
            String readiness, String availability, double latitude, double longitude, double altitude, double bearing,
            double velocity, String description, String attributes, String attributesURI) {

        System s = new SystemImpl(platformID, systemId, typeID, "SERVICE", credentials, readiness, availability,
                latitude, longitude, altitude, bearing, velocity, description, attributes, attributesURI);
        return s;
    }

    /**
     * @see fabric.registry.SystemFactory#getAll()
     */
    @Override
    public System[] getAll() {

        System[] systems = null;
        try {
            systems = runQuery(SELECT_ALL_QUERY);
        } catch (PersistenceException e) {