Statistics
| Revision:

root / tags / v2_0_0_Build_2051 / extensions / org.gvsig.installer / org.gvsig.installer.swing / org.gvsig.installer.swing.impl / src / main / java / org / gvsig / installer / swing / impl / execution / panel / model / PackagesTableModel.java @ 38753

History | View | Annotate | Download (16.1 KB)

1 37538 nfrancisco
/* gvSIG. Geographic Information System of the Valencian Government
2
 *
3
 * Copyright (C) 2007-2008 Infrastructures and Transports Department
4
 * of the Valencian Government (CIT)
5
 *
6
 * This program is free software; you can redistribute it and/or
7
 * modify it under the terms of the GNU General Public License
8
 * as published by the Free Software Foundation; either version 2
9
 * of the License, or (at your option) any later version.
10
 *
11
 * This program is distributed in the hope that it will be useful,
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14
 * GNU General Public License for more details.
15
 *
16
 * You should have received a copy of the GNU General Public License
17
 * along with this program; if not, write to the Free Software
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
19
 * MA  02110-1301, USA.
20
 *
21
 */
22
23
/*
24
 * AUTHORS (In addition to CIT):
25
 * 2010 {Prodevelop}   {Task}
26
 */
27
28 37541 nfrancisco
package org.gvsig.installer.swing.impl.execution.panel.model;
29 37538 nfrancisco
30
import java.net.URL;
31
import java.util.ArrayList;
32
import java.util.Arrays;
33
import java.util.Comparator;
34
import java.util.HashMap;
35 38410 jldominguez
import java.util.HashSet;
36
import java.util.Iterator;
37 37538 nfrancisco
import java.util.List;
38
import java.util.Map;
39 38410 jldominguez
import java.util.Set;
40 37538 nfrancisco
41
import javax.swing.table.AbstractTableModel;
42
43
import org.gvsig.installer.lib.api.InstallerLocator;
44
import org.gvsig.installer.lib.api.InstallerManager;
45
import org.gvsig.installer.lib.api.PackageInfo;
46
import org.gvsig.installer.lib.api.creation.MakePluginPackageServiceException;
47
import org.gvsig.installer.lib.api.execution.InstallPackageService;
48
import org.gvsig.installer.swing.api.SwingInstallerManager;
49 37585 nfrancisco
import org.gvsig.installer.swing.impl.execution.panel.filters.NameDescriptionOrCodeFilter;
50 37541 nfrancisco
import org.gvsig.installer.swing.impl.execution.panel.filters.PackageFilter;
51 37538 nfrancisco
52
public class PackagesTableModel extends AbstractTableModel {
53
54 37584 nfrancisco
        private static final long serialVersionUID = -454014676003979512L;
55 37538 nfrancisco
56 37584 nfrancisco
        public enum PackageStatus {
57 37831 nfrancisco
                INSTALLED, NOT_INSTALLED, TO_REINSTALL, TO_INSTALL, INSTALLED_NOT_INSTALLABLE, BROKEN;
58 37584 nfrancisco
        }
59 37538 nfrancisco
60 37584 nfrancisco
        public enum PackageOfficialRecommended {
61
                OFFICIAL_NOT_RECOMMENDED, OFFICIAL_RECOMMENDED, NOT_OFFICIAL_RECOMMENDED, NOT_OFFICIAL_NOT_RECOMMENDED
62
        }
63 37538 nfrancisco
64 37857 jjdelcerro
        public class PackageOsAndArchitecture {
65
                public String os;
66
                public String arch;
67 37584 nfrancisco
        }
68 37857 jjdelcerro
69
//
70
//        public enum PackageOsAndArchitecture {
71
//                WINDOLS_32, WINDOLS_64, LINUX_32, LINUX_64, ALL, OTHER
72
//        }
73 37538 nfrancisco
74 38410 jldominguez
        private TablePackageInfo[] currentlyVisiblePackages = null;
75 37538 nfrancisco
76 37584 nfrancisco
        private final String[] columnNames;
77 37538 nfrancisco
78 37584 nfrancisco
        private InstallerManager installerManager = InstallerLocator
79
                        .getInstallerManager();
80
        private InstallPackageService installerExecutionService;
81 37538 nfrancisco
82 37584 nfrancisco
        boolean isOfficial;
83 37585 nfrancisco
        private NameDescriptionOrCodeFilter packageFastFilter = null;
84 37584 nfrancisco
        private PackageFilter packageFilter = null;
85 38410 jldominguez
86
        private Set<PackageInfo> selectedPackages = new HashSet<PackageInfo>();
87
        private Map<String, TablePackageInfo> allPackages = null;
88 37538 nfrancisco
89 37584 nfrancisco
        public PackagesTableModel(SwingInstallerManager swingInstallerManager,
90 37822 nfrancisco
                        InstallPackageService installerExecutionService, boolean isOfficial) {
91 37538 nfrancisco
92 37584 nfrancisco
                this.installerExecutionService = installerExecutionService;
93
                this.isOfficial = isOfficial;
94 38410 jldominguez
95 37584 nfrancisco
                Map<String, TablePackageInfo> infos = getDefaultPackages();
96 37538 nfrancisco
97 38410 jldominguez
                currentlyVisiblePackages = infos.values().toArray(
98 37584 nfrancisco
                                new TablePackageInfo[infos.size()]);
99
                sortInstallerInfos();
100 37538 nfrancisco
101 37584 nfrancisco
                columnNames = new String[] {
102
                                "", // Check column
103 37585 nfrancisco
                                "", "", swingInstallerManager.getText("_name"),
104
                                swingInstallerManager.getText("_version"),
105
                                swingInstallerManager.getText("_type") };
106 37538 nfrancisco
107 37584 nfrancisco
        }
108 37538 nfrancisco
109 37584 nfrancisco
        private void sortInstallerInfos() {
110 38410 jldominguez
                Arrays.sort(currentlyVisiblePackages, new Comparator<TablePackageInfo>() {
111 37538 nfrancisco
112 37584 nfrancisco
                        public int compare(TablePackageInfo o1, TablePackageInfo o2) {
113
                                return o1.getPackageInfo().getName().compareToIgnoreCase(
114
                                                o2.getPackageInfo().getName());
115
                        }
116
                });
117
        }
118 37538 nfrancisco
119 38410 jldominguez
    private Map<String, TablePackageInfo> getDefaultPackages() {
120 37538 nfrancisco
121 38410 jldominguez
        if (allPackages == null) {
122 37538 nfrancisco
123 38410 jldominguez
            List<String> defaultIDs =
124
                installerExecutionService.getDefaultSelectedPackagesIDs();
125 37538 nfrancisco
126 38410 jldominguez
            allPackages =
127
                new HashMap<String, PackagesTableModel.TablePackageInfo>();
128 37538 nfrancisco
129 38410 jldominguez
            // Add installable package infos
130
            for (int i = 0; i < installerExecutionService.getPackageCount(); i++) {
131
                PackageInfo installerInfo =
132
                    installerExecutionService.getPackageInfo(i);
133
                TablePackageInfo info =
134
                    new TablePackageInfo(installerInfo, false, true);
135
                if (defaultIDs != null) {
136
                    for (int j = 0; j < defaultIDs.size(); j++) {
137
                        if (info.getPackageInfo().matchID(defaultIDs.get(j))) {
138
                            if (info.getPackageInfo().getOperatingSystem()
139
                                .equals(installerManager.getOperatingSystem())
140
                                || info.getPackageInfo().getOperatingSystem()
141
                                    .equals("all")) {
142
                                info.setDefault(true);
143
                                break;
144
                            }
145 37538 nfrancisco
146 38410 jldominguez
                        }
147
                    }
148
                }
149
                allPackages.put(info.getID(), info);
150
            }
151
            // Add already installed package infos
152
            try {
153
                PackageInfo[] installedPackages =
154
                    installerManager.getInstalledPackages();
155 37538 nfrancisco
156 38410 jldominguez
                for (int i = 0; i < installedPackages.length; i++) {
157
                    TablePackageInfo info =
158
                        new TablePackageInfo(installedPackages[i], true, false);
159
                    TablePackageInfo x = allPackages.get(info.getID());
160
                    if (x == null) {
161
                        allPackages.put(info.getID(), info);
162
                    } else {
163
                        x.setInstalled(true);
164
                    }
165
                }
166
            } catch (MakePluginPackageServiceException e) {
167
                throw new RuntimeException(e);
168
            }
169
170
            // ==========================================
171
            // Set default
172
173
            TablePackageInfo tpi = null;
174
            String os = null;
175
            List<String> idList = installerExecutionService
176
                .getDefaultSelectedPackagesIDs();
177
178
            if (idList != null) {
179
                for (int i=0; i<idList.size(); i++) {
180
181
                    tpi = getMatch(idList.get(i), allPackages);
182
                    if (tpi != null) {
183
                        os = tpi.getPackageInfo().getOperatingSystem();
184
                        if (os.equals(installerManager.getOperatingSystem())
185
                            || os.equals("all")) {
186
187
                            tpi.setDefault(true);
188
                        }
189
                    }
190
                }
191
            }
192
        }
193
        return allPackages;
194
    }
195
196
    private TablePackageInfo getMatch(String id, Map<String, TablePackageInfo> map) {
197
198
        Iterator<TablePackageInfo> iter = map.values().iterator();
199
        TablePackageInfo item = null;
200
        while (iter.hasNext()) {
201
            item = iter.next();
202
            if (item.getPackageInfo().matchID(id)) {
203
                return item;
204
            }
205
        }
206
        return null;
207
    }
208
209 37584 nfrancisco
        // get filtered packages
210
        private Map<String, TablePackageInfo> getFilteredPackages(
211
                        Map<String, TablePackageInfo> packageInfos) {
212 37538 nfrancisco
213 37584 nfrancisco
                Map<String, TablePackageInfo> infos = new HashMap<String, TablePackageInfo>();
214 37538 nfrancisco
215 37584 nfrancisco
                TablePackageInfo[] packs = packageInfos.values().toArray(
216
                                new TablePackageInfo[infos.size()]);
217 37538 nfrancisco
218 37584 nfrancisco
                for (int i = 0; i < packs.length; i++) {
219
                        PackageInfo installerInfo = packs[i].getPackageInfo();
220 37538 nfrancisco
221 37584 nfrancisco
                        if (packageFilter.match(installerInfo)) {
222
                                TablePackageInfo info = packs[i];
223
                                infos.put(installerInfo.getID(), info);
224
                        }
225
                }
226
                return infos;
227
        }
228 37538 nfrancisco
229 37584 nfrancisco
        // get fast filtered packages (by name or description)
230
        private Map<String, TablePackageInfo> getFastFilteredPackages(
231
                        Map<String, TablePackageInfo> packageInfos) {
232 37538 nfrancisco
233 37584 nfrancisco
                Map<String, TablePackageInfo> infos = new HashMap<String, TablePackageInfo>();
234 37538 nfrancisco
235 37584 nfrancisco
                TablePackageInfo[] packs = packageInfos.values().toArray(
236
                                new TablePackageInfo[infos.size()]);
237 37538 nfrancisco
238 37584 nfrancisco
                for (int i = 0; i < packs.length; i++) {
239
                        PackageInfo installerInfo = packs[i].getPackageInfo();
240 37538 nfrancisco
241 37584 nfrancisco
                        if (packageFastFilter.match(installerInfo)) {
242
                                TablePackageInfo info = packs[i];
243
                                infos.put(installerInfo.getID(), info);
244
                        }
245
                }
246
                return infos;
247
        }
248 37538 nfrancisco
249 37584 nfrancisco
        public void updatePackages() {
250 37538 nfrancisco
251 37584 nfrancisco
                Map<String, TablePackageInfo> infos = getDefaultPackages();
252 37538 nfrancisco
253 37584 nfrancisco
                // check if there is a filter set (category, type, etc)
254
                if (isPackageFilterSet()) {
255
                        infos = getFilteredPackages(infos);
256
                }
257 37538 nfrancisco
258 37584 nfrancisco
                // check if there is any filter set (fastFilter)
259
                if (isFastFilterSet()) {
260
                        infos = getFastFilteredPackages(infos);
261
                }
262 37538 nfrancisco
263 38410 jldominguez
                currentlyVisiblePackages = infos.values().toArray(
264 37584 nfrancisco
                                new TablePackageInfo[infos.size()]);
265
                sortInstallerInfos();
266 38410 jldominguez
        }
267 37538 nfrancisco
268
269 37584 nfrancisco
        public void selectDefaultPackages() {
270 38410 jldominguez
271
            Iterator<String> iter = allPackages.keySet().iterator();
272
            TablePackageInfo tpi = null;
273
            while (iter.hasNext()) {
274
275
                tpi = allPackages.get(iter.next());
276
                if (tpi.isDefault()) {
277
                    tpi.setSelected(true);
278
                }
279
            }
280 37584 nfrancisco
        }
281 37538 nfrancisco
282 37584 nfrancisco
        public void selectPackage(PackageInfo pkg) {
283 38410 jldominguez
284
            Iterator<String> iter = allPackages.keySet().iterator();
285
        TablePackageInfo tpi = null;
286
        while (iter.hasNext()) {
287
288
            tpi = allPackages.get(iter.next());
289
            if (pkg.equals(tpi.getPackageInfo())) {
290
                tpi.setSelected(true);
291
                return;
292
            }
293
        }
294 37584 nfrancisco
        }
295 37538 nfrancisco
296 37593 nfrancisco
        @Override
297 37584 nfrancisco
        public Class<?> getColumnClass(int columnIndex) {
298
                switch (columnIndex) {
299
                case 0:
300
                        return PackageStatus.class;
301
                case 1:
302
                        return PackageOfficialRecommended.class;
303
                case 2:
304
                        return PackageOsAndArchitecture.class;
305
                default:
306
                        return String.class;
307
                }
308
        }
309 37538 nfrancisco
310 37584 nfrancisco
        public int getColumnCount() {
311
                return columnNames.length;
312
        }
313 37538 nfrancisco
314 37593 nfrancisco
        @Override
315 37584 nfrancisco
        public String getColumnName(int columnIndex) {
316
                return columnIndex >= columnNames.length ? ""
317
                                : columnNames[columnIndex];
318
        }
319 37538 nfrancisco
320 37584 nfrancisco
        public int getRowCount() {
321 38410 jldominguez
                return currentlyVisiblePackages.length;
322 37584 nfrancisco
        }
323 37538 nfrancisco
324 37584 nfrancisco
        public Object getValueAt(int rowIndex, int columnIndex) {
325 38410 jldominguez
                TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
326 37584 nfrancisco
                PackageInfo installerInfo = tableInfo.getPackageInfo();
327 37538 nfrancisco
328 37584 nfrancisco
                switch (columnIndex) {
329
                case 0:
330
                        PackageStatus installStatus = checkStatus(rowIndex);
331
                        return installStatus;
332
                case 1:
333
                        PackageOfficialRecommended officialRecommended = checkOfficialRecommended(rowIndex);
334
                        return officialRecommended;
335
                case 2:
336
                        PackageOsAndArchitecture packageSystem = checkPackageSystem(rowIndex);
337
                        return packageSystem;
338
                case 3:
339
                        return installerInfo.getName();
340
                case 4:
341
                        return installerInfo.getVersion();
342
                case 5:
343
                        return installerInfo.getType();
344
                default:
345
                        return "";
346 37538 nfrancisco
347 37584 nfrancisco
                }
348
        }
349 37538 nfrancisco
350 37584 nfrancisco
        /**
351
         * @param rowIndex
352
         * @return
353
         */
354
        private PackageOsAndArchitecture checkPackageSystem(int rowIndex) {
355 37857 jjdelcerro
                PackageOsAndArchitecture oSArch = new PackageOsAndArchitecture();
356 38410 jldominguez
                TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
357 37584 nfrancisco
                PackageInfo installerInfo = tableInfo.getPackageInfo();
358 37857 jjdelcerro
                oSArch.os = installerInfo.getOperatingSystem();
359
                oSArch.arch = installerInfo.getArchitecture();
360 37584 nfrancisco
                return oSArch;
361
        }
362 37538 nfrancisco
363 37584 nfrancisco
        /**
364
         * @return
365
         */
366
        private PackageStatus checkStatus(int rowIndex) {
367 38410 jldominguez
                TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
368 37538 nfrancisco
369 37831 nfrancisco
                // TODO: checkboxes when a package is broken dont work correctly
370
                if (tableInfo.getPackageInfo().isBroken()) {
371
                        return PackageStatus.BROKEN;
372
                }
373
374 37584 nfrancisco
                if (tableInfo.isInstalled()) {
375
                        if (tableInfo.isInstallable()) {
376
                                if (tableInfo.isSelected()) {
377
                                        return PackageStatus.TO_REINSTALL;
378
                                } else {
379
                                        return PackageStatus.INSTALLED;
380
                                }
381
                        } else {
382
                                return PackageStatus.INSTALLED_NOT_INSTALLABLE;
383
                        }
384 37538 nfrancisco
385 37584 nfrancisco
                } else {
386
                        if (tableInfo.isSelected()) {
387
                                return PackageStatus.TO_INSTALL;
388
                        } else {
389
                                return PackageStatus.NOT_INSTALLED;
390
                        }
391
                }
392
        }
393 37538 nfrancisco
394 37584 nfrancisco
        private PackageOfficialRecommended checkOfficialRecommended(int rowIndex) {
395 38410 jldominguez
                TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
396 37584 nfrancisco
                PackageInfo packageInfo = tableInfo.getPackageInfo();
397 37538 nfrancisco
398 37584 nfrancisco
                if (packageInfo.isOfficial()) {
399 38410 jldominguez
                        if (currentlyVisiblePackages[rowIndex].isDefault()) {
400 37584 nfrancisco
                                return PackageOfficialRecommended.OFFICIAL_RECOMMENDED;
401
                        } else {
402
                                return PackageOfficialRecommended.OFFICIAL_NOT_RECOMMENDED;
403
                        }
404
                } else {
405 38410 jldominguez
                        if (currentlyVisiblePackages[rowIndex].isDefault()) {
406 37584 nfrancisco
                                return PackageOfficialRecommended.NOT_OFFICIAL_RECOMMENDED;
407
                        } else {
408
                                return PackageOfficialRecommended.NOT_OFFICIAL_NOT_RECOMMENDED;
409
                        }
410
                }
411
        }
412 37538 nfrancisco
413 37584 nfrancisco
        public PackageInfo getPackageInfoAt(int rowIndex) {
414 38410 jldominguez
                return currentlyVisiblePackages[rowIndex].getPackageInfo();
415 37584 nfrancisco
        }
416 37538 nfrancisco
417 37584 nfrancisco
        public String getDescriptionAt(int rowIndex) {
418
                return getPackageInfoAt(rowIndex).getDescription();
419
        }
420 37538 nfrancisco
421 37584 nfrancisco
        public URL getSourcesAt(int rowIndex) {
422
                return getPackageInfoAt(rowIndex).getSourcesURL();
423
        }
424 37822 nfrancisco
425 37601 nfrancisco
        public URL getOwnerUrlAt(int rowIndex) {
426
                return getPackageInfoAt(rowIndex).getOwnerURL();
427
        }
428 37538 nfrancisco
429 37584 nfrancisco
        public String getOwnerAt(int rowIndex) {
430
                return getPackageInfoAt(rowIndex).getOwner();
431
        }
432 37538 nfrancisco
433 37593 nfrancisco
        @Override
434 37584 nfrancisco
        public boolean isCellEditable(int rowIndex, int columnIndex) {
435 38410 jldominguez
                return (columnIndex == 0) && currentlyVisiblePackages[rowIndex].isInstallable();
436 37584 nfrancisco
        }
437 37538 nfrancisco
438 37593 nfrancisco
        @Override
439 37584 nfrancisco
        public void setValueAt(Object aValue, int rowIndex, int columnIndex) {
440 37538 nfrancisco
441 37584 nfrancisco
                if (columnIndex == 0) {
442
                        PackageStatus status = (PackageStatus) aValue;
443 38410 jldominguez
                        TablePackageInfo tableInfo = currentlyVisiblePackages[rowIndex];
444 37584 nfrancisco
                        switch (status) {
445
                        case INSTALLED:
446
                        case NOT_INSTALLED:
447
                                tableInfo.setSelected(false);
448
                                break;
449 37538 nfrancisco
450 37584 nfrancisco
                        case TO_REINSTALL:
451
                        case TO_INSTALL:
452
                                tableInfo.setSelected(true);
453
                                break;
454
                        }
455
                }
456
        }
457 37538 nfrancisco
458 37584 nfrancisco
        public List<PackageInfo> getPackagesToInstall() {
459 38410 jldominguez
460
            List<PackageInfo> packageInfosToInstall = new ArrayList<PackageInfo>();
461
            packageInfosToInstall.addAll(selectedPackages);
462
            return packageInfosToInstall;
463 37584 nfrancisco
        }
464 37538 nfrancisco
465 37584 nfrancisco
        public boolean hasAnyPackageSelected() {
466 38410 jldominguez
            return (selectedPackages.size() > 0);
467 37584 nfrancisco
        }
468 37538 nfrancisco
469 38410 jldominguez
        public final class TablePackageInfo {
470 37538 nfrancisco
471 37584 nfrancisco
                private final PackageInfo packageInfo;
472
                private boolean isInstalled;
473
                private final boolean isInstallable;
474 38410 jldominguez
                // private boolean isSelected;
475 37584 nfrancisco
                private boolean isDefault;
476 37538 nfrancisco
477 37584 nfrancisco
                public TablePackageInfo(PackageInfo packageInfo, boolean isInstalled,
478
                                boolean isInstallable) {
479 38410 jldominguez
                        this(packageInfo, isInstalled, isInstallable, false);
480 37584 nfrancisco
                }
481 37538 nfrancisco
482 37584 nfrancisco
                public void setInstalled(boolean installed) {
483
                        this.isInstalled = installed;
484
                }
485 37538 nfrancisco
486 37584 nfrancisco
                public TablePackageInfo(PackageInfo packageInfo, boolean isInstalled,
487 38410 jldominguez
                                boolean isInstallable, boolean isDefault) {
488 37584 nfrancisco
                        this.packageInfo = packageInfo;
489
                        this.isInstalled = isInstalled;
490
                        this.isInstallable = isInstallable;
491
                        this.isDefault = isDefault;
492
                }
493 37538 nfrancisco
494 37584 nfrancisco
                public String getID() {
495
                        PackageInfo pkg = this.getPackageInfo();
496
                        return pkg.getID();
497
                }
498 37538 nfrancisco
499 37584 nfrancisco
                public PackageInfo getPackageInfo() {
500
                        return packageInfo;
501
                }
502 37538 nfrancisco
503 37584 nfrancisco
                public boolean isInstalled() {
504
                        return isInstalled;
505
                }
506 37538 nfrancisco
507 37584 nfrancisco
                public boolean isInstallable() {
508
                        return isInstallable;
509
                }
510 37538 nfrancisco
511 37584 nfrancisco
                public boolean isSelected() {
512 38410 jldominguez
                        return selectedPackages.contains(packageInfo);
513 37584 nfrancisco
                }
514 37538 nfrancisco
515 37584 nfrancisco
                public void setSelected(boolean isSelected) {
516 38410 jldominguez
                    if (isSelected) {
517
                        selectedPackages.add(packageInfo);
518
                    } else {
519
                        selectedPackages.remove(packageInfo);
520
                    }
521 37584 nfrancisco
                }
522 37538 nfrancisco
523 37584 nfrancisco
                public void setDefault(boolean isDefault) {
524
                        this.isDefault = isDefault;
525
                }
526 37538 nfrancisco
527 37584 nfrancisco
                public boolean isDefault() {
528
                        return isDefault;
529
                }
530 37550 nfrancisco
531 37584 nfrancisco
        }
532
533
        /**
534
         * Returns the TablePackageInfo located in the given row.
535
         *
536
         * @param row
537
         *            the TablePackageInfo located in the given row
538
         */
539
        public TablePackageInfo getPackageInfo(int row) {
540 38410 jldominguez
                return currentlyVisiblePackages[row];
541 37584 nfrancisco
        }
542
543
        public void setFilter(PackageFilter filter) {
544
                this.packageFilter = filter;
545
        }
546
547 37585 nfrancisco
        public void setFilter(NameDescriptionOrCodeFilter filter) {
548 37584 nfrancisco
                this.packageFastFilter = filter;
549
        }
550
551
        private Boolean isFastFilterSet() {
552
                return this.packageFastFilter != null;
553
        }
554
555
        private Boolean isPackageFilterSet() {
556
                return this.packageFilter != null;
557
        }
558
559
        public PackageFilter getFilter() {
560
                return this.packageFastFilter;
561
        }
562
563
        public InstallPackageService getInstallPackageService() {
564
                return this.installerExecutionService;
565
        }
566 37538 nfrancisco
}