blob: cb8bce7f29d1c80db2d8be90bc20aeecd4e12ebe [file] [log] [blame]
/*******************************************************************************
* Copyright (c) 2015 Composent, Inc. All rights reserved. This
* program and the accompanying materials are made available under the terms of
* the Eclipse Public License v1.0 which accompanies this distribution, and is
* available at http://www.eclipse.org/legal/epl-v10.html
*
* Contributors: Scott Lewis - initial API and implementation
******************************************************************************/
package org.eclipse.ecf.remoteserviceadmin.ui.rsa.model;
import org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.ExportReference;
import org.eclipse.ecf.osgi.services.remoteserviceadmin.RemoteServiceAdmin.ExportRegistration;
import org.eclipse.ecf.remoteservices.ui.util.PropertyUtils;
import org.osgi.framework.ServiceReference;
/**
* @since 3.3
*/
public class ExportRegistrationNode extends AbstractRegistrationNode {
private final ExportRegistration exportRegistration;
/**
* @since 3.4
*/
public ExportRegistrationNode(Throwable t, boolean showStack) {
super(t, showStack);
this.exportRegistration = null;
}
public ExportRegistrationNode(Throwable t) {
this(t, false);
}
public ExportRegistrationNode(ExportRegistration eReg) {
super(eReg.getException(), false);
this.exportRegistration = eReg;
}
@Override
protected String getErrorName() {
return "Export " + super.getErrorName();
}
protected ExportRegistration getExportRegistration() {
return this.exportRegistration;
}
protected ExportReference getExportReference() {
ExportRegistration eReg = getExportRegistration();
return eReg == null ? null : (ExportReference) eReg.getExportReference();
}
protected ServiceReference getExportedService() {
ExportReference eRef = getExportReference();
return eRef == null ? null : eRef.getExportedService();
}
public String getValidName() {
return PropertyUtils.convertObjectClassToString(getExportedService());
}
@Override
public boolean isClosed() {
return getExportReference() == null;
}
@Override
public ServiceReference getServiceReference() {
ExportReference exportRef = getExportReference();
return exportRef == null ? null : exportRef.getExportedService();
}
@Override
public void close() {
if (exportRegistration != null)
exportRegistration.close();
}
}