import org.argeo.slc.client.ui.dist.utils.AbstractHyperlinkListener;
import org.argeo.slc.jcr.SlcNames;
import org.argeo.slc.jcr.SlcTypes;
+import org.argeo.slc.repo.RepoConstants;
+import org.argeo.slc.repo.RepoUtils;
+import org.eclipse.jface.dialogs.IMessageProvider;
import org.eclipse.jface.viewers.ColumnLabelProvider;
import org.eclipse.jface.viewers.IStructuredContentProvider;
import org.eclipse.jface.viewers.ITreeContentProvider;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.layout.GridData;
import org.eclipse.swt.layout.GridLayout;
+import org.eclipse.swt.widgets.Button;
import org.eclipse.swt.widgets.Composite;
import org.eclipse.swt.widgets.Table;
import org.eclipse.swt.widgets.Text;
import org.eclipse.ui.forms.widgets.Section;
/**
- * Presents main information of a given OSGI bundle
+ * Present main information of a given OSGI bundle
*/
-
public class BundleDetailsPage extends FormPage implements SlcNames, SlcTypes {
// private final static Log log =
// LogFactory.getLog(ArtifactDetailsPage.class);
form.setText(currBundle.hasProperty(DistConstants.SLC_BUNDLE_NAME) ? currBundle
.getProperty(DistConstants.SLC_BUNDLE_NAME).getString()
: "");
+ form.setMessage(" ", IMessageProvider.NONE);
Composite body = form.getBody();
GridLayout layout = new GridLayout(1, false);
layout.marginWidth = 5;
createExportPackageSection(body);
createImportPackageSection(body);
createReqBundleSection(body);
- createMavenSnipet(body);
+ createMavenSnippet(body);
} catch (RepositoryException e) {
throw new SlcException("unexpected error "
}
}
- /** Add useful info for the current bundle */
+ /** Displays useful info for the current bundle */
private void createdetailsPart(Composite parent) throws RepositoryException {
Composite details = toolkit.createComposite(parent);
GridLayout layout = new GridLayout(2, false);
createField(details, "Symbolic name", SlcNames.SLC_SYMBOLIC_NAME);
createField(details, "Version", SlcNames.SLC_BUNDLE_VERSION);
createField(details, "Group Id", SlcNames.SLC_GROUP_ID);
- // Single sourcing issue: this does not works with rap
createHyperlink(details, "Licence", DistConstants.SLC_BUNDLE_LICENCE);
- // createField(details, "Licence", DistConstants.SLC_BUNDLE_LICENCE);
-
createField(details, "Vendor", DistConstants.SLC_BUNDLE_VENDOR);
+ addSourceAvailableLabel(details);
+ }
+
+ // helper to check if sources are available
+ private void addSourceAvailableLabel(Composite parent) {
+ Button srcChk = toolkit.createButton(parent, "Sources available",
+ SWT.CHECK);
+ srcChk.setLayoutData(new GridData(SWT.FILL, SWT.TOP, true, false, 2, 1));
+ try {
+ String srcPath = RepoUtils.relatedPdeSourcePath(
+ RepoConstants.DEFAULT_ARTIFACTS_BASE_PATH, currBundle);
+ srcChk.setSelection(currBundle.getSession().nodeExists(srcPath));
+ } catch (RepositoryException e) {
+ throw new SlcException("Unable to check sources", e);
+ }
+ srcChk.setEnabled(false);
}
// Workaround to add an artificial level to the export package browser
}
/** Creates a text area with corresponding maven snippet */
- private void createMavenSnipet(Composite parent) {
+ private void createMavenSnippet(Composite parent) {
mavenSnippet = new Text(parent, SWT.MULTI | SWT.WRAP | SWT.BORDER);
GridData gd = new GridData(GridData.FILL_HORIZONTAL);
gd.grabExcessHorizontalSpace = true;
try {
StringBuffer sb = new StringBuffer();
sb.append("<dependency>\n");
- sb.append("\t<groupeId>");
+ sb.append("\t<groupId>");
sb.append(currBundle.getProperty(SLC_GROUP_ID).getString());
- sb.append("</groupeId>\n");
+ sb.append("</groupId>\n");
sb.append("\t<artifactId>");
sb.append(currBundle.getProperty(SLC_ARTIFACT_ID).getString());
sb.append("</artifactId>\n");