Skip to content

Commit 011febc

Browse files
author
Neha Burnwal
committed
Quick fix for adding a space after colon
1 parent e7b608f commit 011febc

File tree

8 files changed

+64
-1
lines changed

8 files changed

+64
-1
lines changed

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/PDECoreMessages.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -181,6 +181,7 @@ public class PDECoreMessages extends NLS {
181181
public static String BundleErrorReporter_noMainSection;
182182
public static String BundleErrorReporter_duplicateHeader;
183183
public static String BundleErrorReporter_noColon;
184+
public static String BundleErrorReporter_noSpaceAfterColon;
184185
public static String BundleErrorReporter_noSpaceValue;
185186
public static String BundleErrorReporter_nameHeaderInMain;
186187
public static String BundleErrorReporter_noNameHeader;

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/JarManifestErrorReporter.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -177,6 +177,11 @@ protected void parseManifest(IDocument document, IProgressMonitor monitor) {
177177
report(PDECoreMessages.BundleErrorReporter_invalidHeaderName, lineNumber, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL);
178178
return;
179179
}
180+
if (line.length() >= colon + 2 && line.charAt(colon + 1) != ' ') {
181+
report(PDECoreMessages.BundleErrorReporter_noSpaceAfterColon, lineNumber, CompilerFlags.ERROR,
182+
PDEMarkerFactory.M_NO_SPACE_AFTER_COLON, PDEMarkerFactory.CAT_FATAL);
183+
return;
184+
}
180185
if (line.length() < colon + 2 || line.charAt(colon + 1) != ' ') {
181186
report(PDECoreMessages.BundleErrorReporter_noSpaceValue, lineNumber, CompilerFlags.ERROR, PDEMarkerFactory.CAT_FATAL);
182187
return;

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/builders/PDEMarkerFactory.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -75,7 +75,7 @@ public class PDEMarkerFactory {
7575
public static final int M_NO_AUTOMATIC_MODULE = 0x1028; // other problem
7676
public static final int M_EXEC_ENV_TOO_LOW = 0x1029; // other problem
7777
public static final int M_CONFLICTING_AUTOMATIC_MODULE = 0x1030; // other
78-
// problem
78+
public static final int M_NO_SPACE_AFTER_COLON = 0x1032; // other problem
7979
public static final int M_SINGLETON_DIR_CHANGE = 0x1033; // other problem
8080

8181
// build properties fixes

ui/org.eclipse.pde.core/src/org/eclipse/pde/internal/core/pderesources.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -139,6 +139,7 @@ BundleErrorReporter_lineTooLong = The line is too long
139139
BundleErrorReporter_noMainSection = Manifest has no main section
140140
BundleErrorReporter_duplicateHeader = Header already defined
141141
BundleErrorReporter_noColon = ':' is required after the header name
142+
BundleErrorReporter_noSpaceAfterColon=Single space is required after the colon
142143
BundleErrorReporter_noSpaceValue = Single space and a value is required after the header name
143144
BundleErrorReporter_nameHeaderInMain = 'Name' header is not allowed in the main section
144145
BundleErrorReporter_noNameHeader = Extraneous empty line causes the file to be invalid

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/PDEUIMessages.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3235,6 +3235,8 @@ public class PDEUIMessages extends NLS {
32353235

32363236
public static String AddSourceBuildEntryResolution_label;
32373237

3238+
public static String AddSpaceAfterColon_add;
3239+
32383240
public static String RemoveSeperatorBuildEntryResolution_label;
32393241

32403242
public static String ExternalizeStringsResolution_desc;
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package org.eclipse.pde.internal.ui.correction;
2+
3+
import java.util.logging.Level;
4+
import java.util.logging.Logger;
5+
6+
import org.eclipse.core.resources.IMarker;
7+
import org.eclipse.jface.text.BadLocationException;
8+
import org.eclipse.jface.text.IDocument;
9+
import org.eclipse.jface.text.IRegion;
10+
import org.eclipse.pde.internal.core.text.bundle.BundleModel;
11+
import org.eclipse.pde.internal.ui.PDEUIMessages;
12+
13+
public class AddSpaceBeforeValue extends AbstractManifestMarkerResolution {
14+
15+
private static final Logger logger = Logger.getLogger(AddSpaceBeforeValue.class.getName());
16+
17+
public AddSpaceBeforeValue(int type, IMarker marker) {
18+
super(type, marker);
19+
}
20+
21+
@Override
22+
public String getLabel() {
23+
return PDEUIMessages.AddSpaceAfterColon_add;
24+
}
25+
26+
@Override
27+
protected void createChange(BundleModel model) {
28+
try {
29+
IDocument doc = model.getDocument();
30+
int lineNum = marker.getAttribute(IMarker.LINE_NUMBER, -1);
31+
IRegion lineInfo = doc.getLineInformation(lineNum - 1);
32+
int offset = lineInfo.getOffset();
33+
int length = lineInfo.getLength();
34+
35+
String getLine = doc.get(offset, length);
36+
int colonInd = getLine.indexOf(':');
37+
38+
if (colonInd > 0 && getLine.charAt(colonInd + 1) != ' ') {
39+
String userHeader = getLine.substring(0, colonInd + 1);
40+
userHeader = userHeader + " "; //$NON-NLS-1$
41+
doc.replace(offset, colonInd + 1, userHeader);
42+
}
43+
} catch (BadLocationException e) {
44+
logger.log(Level.SEVERE, "Failed to apply AddSpaceBeforeValue quick fix, unexpected location in the doc", //$NON-NLS-1$
45+
e);
46+
}
47+
48+
}
49+
50+
}

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/correction/ResolutionGenerator.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,9 @@ public IMarkerResolution[] getNonConfigSevResolutions(IMarker marker) {
149149
case PDEMarkerFactory.M_CONFLICTING_AUTOMATIC_MODULE:
150150
return new IMarkerResolution[] {
151151
new RemoveRedundantAutomaticModuleHeader(AbstractPDEMarkerResolution.REMOVE_TYPE, marker) };
152+
case PDEMarkerFactory.M_NO_SPACE_AFTER_COLON:
153+
return new IMarkerResolution[] {
154+
new AddSpaceBeforeValue(AbstractPDEMarkerResolution.CREATE_TYPE, marker) };
152155
}
153156
return NO_RESOLUTIONS;
154157
}

ui/org.eclipse.pde.ui/src/org/eclipse/pde/internal/ui/pderesources.properties

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -591,6 +591,7 @@ AdvancedPluginExportPage_signButton=Si&gn the JAR archives using a keystore (a p
591591
AdvancedPluginExportPage_noKeystore=Keystore location is not set
592592
AdvancedPluginExportPage_noPassword=Password is not set
593593
AddSourceBuildEntryResolution_label=Add a {0} entry.
594+
AddSpaceAfterColon_add=Add a space after the colon
594595
AdvancedFeatureExportPage_createJNLP=&Create JNLP manifests for the JAR archives
595596
AdvancedFeatureExportPage_jreVersion=&JRE version:
596597
AdvancedPluginExportPage_qualifier = &Qualifier replacement (default value is today's date):

0 commit comments

Comments
 (0)