private boolean containsPackage(IHeader header, String name) { if (header != null) { ManifestElement[] elements = header.getElements(); for (int i = 0; i < elements.length; i++) { if (elements[i].getValue().equals(name)) return true; } } return false; }
private boolean containsPackage(IHeader header, String name) { if(header != null) { ManifestElement[] elements = header.getElements(); for (int i = 0; i < elements.length; i++) { if(elements[i].getValue().equals(name)) return true; } } return false; }
private boolean validateStartHeader(IHeader header) { if (header == null) return false; validateBooleanValue(header); return exceptionsAttributesValid(header, header.getElements()); }
private boolean validateStartHeader(IHeader header) { if (header == null) return false; validateBooleanValue(header); return exceptionsAttributesValid(header, header.getElements()); }
protected void validateHeaderValue(IHeader header, String[] allowedValues) { ManifestElement[] elements = header.getElements(); if (elements.length > 0) { for (int i = 0; i < allowedValues.length; i++) { if (allowedValues[i].equals(elements[0].getValue())) { return; } } reportIllegalValue(header, elements[0].getValue()); } }
protected void validateHeaderValue(IHeader header, String[] allowedValues) { ManifestElement[] elements = header.getElements(); if (elements.length > 0) { for (int i = 0; i < allowedValues.length; i++) { if (allowedValues[i].equals(elements[0].getValue())) { return; } } reportIllegalValue(header, elements[0].getValue()); } }
private void validateBundleClasspath() { IHeader header = getHeader(Constants.BUNDLE_CLASSPATH); if (header != null) { if (header.getElements().length == 0) { report(PDECoreMessages.BundleErrorReporter_ClasspathNotEmpty, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } } }
private void validateBundleClasspath() { IHeader header = getHeader(Constants.BUNDLE_CLASSPATH); if (header != null && header.getElements().length == 0) { report(PDECoreMessages.BundleErrorReporter_ClasspathNotEmpty, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); } }
private void validateFragmentHost(IHeader requireBundleHeader, ManifestElement element) { IHeader header = getHeader(Constants.FRAGMENT_HOST); if (header == null) return; ManifestElement[] elements = header.getElements(); if (elements[0] != null && elements[0].getValue().equals(element.getValue())) { IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_unecessaryDependencyDueToFragmentHost, element.getValue()), getPackageLine(requireBundleHeader, element), CompilerFlags.WARNING, PDEMarkerFactory.M_UNECESSARY_DEP, PDEMarkerFactory.CAT_OTHER); addMarkerAttribute(marker, "bundleId", element.getValue()); //$NON-NLS-1$ } }
private void validateFragmentHost(IHeader requireBundleHeader, ManifestElement element) { IHeader header = getHeader(Constants.FRAGMENT_HOST); if(header == null) return; ManifestElement[] elements = header.getElements(); if (header != null && elements[0] != null && elements[0].getValue().equals(element.getValue())) { IMarker marker = report(NLS.bind(PDECoreMessages.BundleErrorReporter_unecessaryDependencyDueToFragmentHost, element.getValue()), getPackageLine(requireBundleHeader, element), CompilerFlags.WARNING, PDEMarkerFactory.M_UNECESSARY_DEP, PDEMarkerFactory.CAT_OTHER); if (marker != null) { try { marker.setAttribute("bundleId", element.getValue()); //$NON-NLS-1$ } catch (CoreException e) {} } } } }
/** * @return boolean false if fatal */ private boolean validateBundleSymbolicName() { IHeader header = validateRequiredHeader(Constants.BUNDLE_SYMBOLICNAME); if (header == null) return false; ManifestElement[] elements = header.getElements(); String id = elements.length > 0 ? elements[0].getValue() : null; if (id == null || id.length() == 0) { report(PDECoreMessages.BundleErrorReporter_NoSymbolicName, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); return false; } validatePluginId(header, id); validateSingleton(header, elements[0]); return true; }
/** * @return boolean false if fatal */ private boolean validateBundleSymbolicName() { IHeader header = validateRequiredHeader(Constants.BUNDLE_SYMBOLICNAME); if (header == null) return false; ManifestElement[] elements = header.getElements(); String id = elements.length > 0 ? elements[0].getValue() : null; if (id == null || id.length() == 0) { report(PDECoreMessages.BundleErrorReporter_NoSymbolicName, header.getLineNumber() + 1, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL); return false; } if (!validateBundleManifestVersion()) return false; validatePluginId(header, id); validateSingleton(header, elements[0]); // Header introduced in OSGi R4 - warn if R3 manifest if (!fOsgiR4) report(NLS.bind(PDECoreMessages.BundleErrorReporter_R4SyntaxInR3Bundle, Constants.BUNDLE_SYMBOLICNAME), header.getLineNumber() + 1, CompilerFlags.WARNING, PDEMarkerFactory.M_R4_SYNTAX_IN_R3_BUNDLE, PDEMarkerFactory.CAT_OTHER); return true; }
ManifestElement[] elements = header.getElements();
ManifestElement[] elements = header.getElements();
private void validateAutoStart() { IHeader header = getHeader(ICoreConstants.ECLIPSE_AUTOSTART); if (!validateStartHeader(header)) return; // valid start header problems already reported int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_DEPRECATED); if (severity != CompilerFlags.IGNORE && TargetPlatformHelper.getTargetVersion() >= 3.2 && !containsValidActivationHeader()) { int line = header.getLineNumber(); String message = NLS.bind(PDECoreMessages.BundleErrorReporter_startHeader_autoStartDeprecated, new Object[] {ICoreConstants.ECLIPSE_AUTOSTART, getCurrentActivationHeader()}); IMarker marker = report(message, line + 1, severity, PDEMarkerFactory.M_DEPRECATED_AUTOSTART, PDEMarkerFactory.CAT_DEPRECATION); if (marker != null) { try { marker.setAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_AUTOSTART); ManifestElement elem = header.getElements()[0]; boolean unnecessary = elem.getValue().equals("false") && elem.getAttribute("excludes") == null; //$NON-NLS-1$ //$NON-NLS-2$ marker.setAttribute(PDEMarkerFactory.ATTR_CAN_ADD, !unnecessary); } catch (CoreException e) { } } } }
private void validateLazyStart() { IHeader header = getHeader(ICoreConstants.ECLIPSE_LAZYSTART); int severity = CompilerFlags.getFlag(fProject, CompilerFlags.P_DEPRECATED); validateStartHeader(header); if (header != null) { if (severity == CompilerFlags.IGNORE || containsValidActivationHeader()) return; double targetVersion = TargetPlatformHelper.getTargetVersion(); if (targetVersion < 3.2) { report(PDECoreMessages.BundleErrorReporter_lazyStart_unsupported, header.getLineNumber() + 1, severity, PDEMarkerFactory.NO_RESOLUTION, PDEMarkerFactory.CAT_OTHER); } else if (targetVersion > 3.3) { int line = header.getLineNumber(); String message = NLS.bind(PDECoreMessages.BundleErrorReporter_startHeader_autoStartDeprecated, new Object[] {ICoreConstants.ECLIPSE_LAZYSTART, getCurrentActivationHeader()}); IMarker marker = report(message, line + 1, severity, PDEMarkerFactory.M_DEPRECATED_AUTOSTART, PDEMarkerFactory.CAT_DEPRECATION); if (marker != null) { try { marker.setAttribute(PDEMarkerFactory.ATTR_HEADER, ICoreConstants.ECLIPSE_LAZYSTART); ManifestElement elem = header.getElements()[0]; boolean unnecessary = elem.getValue().equals("false") && elem.getAttribute("excludes") == null; //$NON-NLS-1$ //$NON-NLS-2$ marker.setAttribute(PDEMarkerFactory.ATTR_CAN_ADD, !unnecessary); } catch (CoreException e) { } } } } }
if (header.getElements().length == 0) { if (isCheckNoRequiredAttr()) report(PDECoreMessages.BundleErrorReporter_HostNeeded, 1, CompilerFlags.P_NO_REQUIRED_ATT, PDEMarkerFactory.CAT_FATAL); ManifestElement[] elems = header.getElements(); if (elems.length > 0) { if (!VersionUtil.validateVersionRange(elems[0].getAttribute(Constants.BUNDLE_VERSION_ATTRIBUTE)).isOK()) {
return; ManifestElement[] required = header.getElements();
return; ManifestElement[] required = header.getElements(); BundleSpecification[] specs = desc.getRequiredBundles(); for (int i = 0; i < required.length; i++) {
if (header.getElements().length == 0) { if (isCheckNoRequiredAttr()) report(PDECoreMessages.BundleErrorReporter_HostNeeded, 1, CompilerFlags.P_NO_REQUIRED_ATT, PDEMarkerFactory.CAT_FATAL);