~ubuntu-branches/ubuntu/utopic/eclipse-linuxtools/utopic

« back to all changes in this revision

Viewing changes to rpm/org.eclipse.linuxtools.rpm.ui.editor/src/org/eclipse/linuxtools/rpm/ui/editor/parser/Specfile.java

  • Committer: Package Import Robot
  • Author(s): Jakub Adam
  • Date: 2014-05-12 18:11:40 UTC
  • mfrom: (3.1.2 sid)
  • Revision ID: package-import@ubuntu.com-20140512181140-w237r3vsah1tmybz
Tags: 2.2.1-1
* New upstream release.
* Refreshed d/patches.
* Removed eclipse-cdt-valgrind-remote package, all its functionality
  is now provided by eclipse-cdt-profiling-framework-remote.
* Added remove-license-feature.patch.
* Bump Standards-Version to 3.9.5.
* Enable eclipse-changelog package.
* Enable eclipse-rpm-editor package.

Show diffs side-by-side

added added

removed removed

Lines of Context:
31
31
public class Specfile {
32
32
 
33
33
        private SpecfilePreamble preamble;
34
 
        
 
34
 
35
35
        private SpecfilePackageContainer packages;
36
36
 
37
37
        private List<SpecfileSection> sections;
42
42
        private Map<Integer, SpecfileSource> sources;
43
43
 
44
44
        private Map<Integer, SpecfileSource> patches;
45
 
        
 
45
 
46
46
        private List<SpecfileTag> buildRequires;
47
 
        
 
47
 
48
48
        private List<SpecfileTag> requires;
49
49
 
50
50
        private IDocument document;
73
73
                }
74
74
                return null;
75
75
        }
76
 
        
 
76
 
77
77
        public List<SpecfileSection> getComplexSections() {
78
78
                return complexSections;
79
79
        }
80
 
        
 
80
 
81
81
        public SpecfileSource getPatch(int number) {
82
82
                return patches.get(number);
83
83
        }
101
101
        public void addComplexSection(SpecfileSection section) {
102
102
                complexSections.add(section);
103
103
        }
104
 
        
 
104
 
105
105
        public void addSource(SpecfileSource source) {
106
106
                sources.put(Integer.valueOf(source.getNumber()), source);
107
107
        }
112
112
 
113
113
    /**
114
114
     * Adds the given define to the map of defines for this specfile.
115
 
     * 
 
115
     *
116
116
     * @param define The define to add.
117
117
     */
118
118
    public void addDefine(SpecfileDefine define) {
123
123
        }
124
124
                defines.put(define.getName(), define);
125
125
        }
126
 
    
 
126
 
127
127
    public void addDefine(SpecfileTag tag) {
128
128
                addDefine(new SpecfileDefine(tag));
129
129
        }
130
 
    
 
130
 
131
131
    public SpecfileDefine getDefine(String defineName) {
132
132
                return defines.get(defineName.toLowerCase());
133
133
        }
134
 
        
 
134
 
135
135
        public SpecfileDefine getDefine(String defineName, SpecfilePackage rpmPackage) {
136
136
                return defines.get(UiUtils.getPackageDefineId(defineName, rpmPackage));
137
137
        }
151
151
                }
152
152
                return "0"; //$NON-NLS-1$
153
153
        }
154
 
        
 
154
 
155
155
        public String getBuildArch() {
156
156
                SpecfileDefine define = getDefine(RpmTags.BUILD_ARCH.toLowerCase());
157
157
                if (define != null){
181
181
        }
182
182
 
183
183
        public List<SpecfileDefine> getDefines() {
184
 
                List<SpecfileDefine> definesList = new ArrayList<SpecfileDefine>(defines.values());
185
 
                return definesList;
 
184
                return new ArrayList<SpecfileDefine>(defines.values());
186
185
        }
187
 
        
 
186
 
188
187
        public void organizePatches() {
189
188
                List<SpecfileSource> patches = getPatches();
190
189
                int newPatchNumber = 0;
191
190
                int oldPatchNumber = -1;
192
191
                Map<Integer, SpecfileSource> newPatches = new HashMap<Integer, SpecfileSource>();
193
192
                for (SpecfileSource thisPatch: patches) {
194
 
                        if (thisPatch.getSpecfile() == null)
 
193
                        if (thisPatch.getSpecfile() == null) {
195
194
                                thisPatch.setSpecfile(this);
 
195
                        }
196
196
                        oldPatchNumber = thisPatch.getNumber();
197
197
                        thisPatch.setNumber(newPatchNumber);
198
198
                        thisPatch.changeDeclaration(oldPatchNumber);
210
210
        public String getLine(int lineNumber) throws BadLocationException {
211
211
                int offset = document.getLineOffset(lineNumber);
212
212
                int length = getLineLength(lineNumber);
213
 
                String lineContents = document.get(offset, length);
214
 
                return lineContents;
 
213
                return document.get(offset, length);
215
214
        }
216
215
 
217
216
        public IDocument getDocument() {
221
220
        public int getLineLength(int lineNumber) throws BadLocationException {
222
221
                int length = document.getLineLength(lineNumber);
223
222
                String lineDelimiter = document.getLineDelimiter(lineNumber);
224
 
                if (lineDelimiter != null)
 
223
                if (lineDelimiter != null) {
225
224
                        length = length - lineDelimiter.length();
 
225
                }
226
226
                return length;
227
227
        }
228
228
 
258
258
        }
259
259
 
260
260
        public void addPackage(SpecfilePackage subPackage) {
261
 
                if (! packages.contains(subPackage))
 
261
                if (! packages.contains(subPackage)) {
262
262
                        packages.addPackage(subPackage);
 
263
                }
263
264
        }
264
265
 
265
266
        public void modifyDefine(String defineName, SpecfilePackage rpmPackage,
273
274
                                e.printStackTrace();
274
275
                        }
275
276
                }
276
 
                
 
277
 
277
278
        }
278
279
 
279
280
        public void modifyDefine(String defineName, String newValue) {
287
288
                        }
288
289
                }
289
290
        }
290
 
        
 
291
 
291
292
        public void modifyDefine(SpecfileTag define, String newValue) {
292
293
                if (define != null) {
293
294
                        define.setValue(newValue);
305
306
        public void addBuildRequire(SpecfileDefine buildRequire) {
306
307
                buildRequires.add(buildRequire);
307
308
        }
308
 
        
 
309
 
309
310
        /**
310
311
         * @param require the require to add
311
312
         */
323
324
        public List<SpecfileTag> getRequires() {
324
325
                return requires;
325
326
        }
326
 
        
 
327
 
327
328
}