Changeset 5486


Ignore:
Timestamp:
07/25/14 14:24:52 (10 years ago)
Author:
Twan Goosen
Message:

refactored details page class for readability

File:
1 edited

Legend:

Unmodified
Added
Removed
  • VirtualCollectionRegistry/trunk/VirtualCollectionRegistry/src/main/java/eu/clarin/cmdi/virtualcollectionregistry/gui/pages/VirtualCollectionDetailsPage.java

    r5478 r5486  
    5656    public static final String PARAM_BACK_PAGE_VERSION = "backPageVersion";
    5757    public static final String PARAM_BACK_PAGE_PAGEMAP_NAME = "backPageMapName";
     58    private static final String CSS_CLASS = "collectionDetails";
     59    private static final IConverter convDate = new DateConverter();
     60    private final HideIfEmptyBehavior hideIfEmpty = new HideIfEmptyBehavior();
    5861
    5962    private static final IConverter convEnum = new IConverter() {
     
    7477        }
    7578    };
    76     private static final IConverter convDate = new DateConverter();
    77 
    78     private static final String CSS_CLASS = "collectionDetails";
    7979
    8080    /*
     
    136136    } // class VirtualCollectionDetailsPage.TypeLabel
    137137
    138     private final HideIfEmptyBehavior hideIfEmpty = new HideIfEmptyBehavior();
    139138
    140139    public VirtualCollectionDetailsPage(PageParameters params) {
     
    162161        add(backLink);
    163162
     163        addGeneralProperties(model);
     164        addCreators();
     165        addResources(model);
     166        addGeneratedBy(model);
     167    }
     168
     169    private void addGeneralProperties(final IModel<VirtualCollection> model) {
    164170        final Border general = new AjaxToggleBorder("generalBorder",
    165171                new Model<String>("General"), CSS_CLASS);
     
    172178        general.add(new CustomLabel("reproducibility").add(hideIfEmpty));
    173179        general.add(new Label("reproducibilityNotice").add(hideIfEmpty));
    174        
    175         final ExternalLink pidLink = new ExternalLink("pidLink", new PropertyModel<String>(model,"persistentIdentifier.actionableURI"));
     180
     181        final ExternalLink pidLink = new ExternalLink("pidLink", new PropertyModel<String>(model, "persistentIdentifier.actionableURI"));
    176182        pidLink.add(new Label("persistentIdentifier.URI"));
    177183        pidLink.add(hideIfEmpty);
    178184        general.add(pidLink);
    179        
     185
     186        addKeywords(general);
     187    }
     188
     189    private void addKeywords(final Border general) {
    180190        final ListView<String> keywords = new ListView<String>("keywords") {
    181191            @Override
     
    186196        keywords.add(hideIfEmpty);
    187197        general.add(keywords);
    188 
     198    }
     199
     200    private void addCreators() {
    189201        final Border creators = new AjaxToggleBorder("creatorsBorder",
    190202                new Model<String>("Creators"), CSS_CLASS);
     
    229241            }
    230242        });
    231 
     243    }
     244
     245    private void addResources(final IModel<VirtualCollection> model) {
    232246        final Border resources = new AjaxToggleBorder("resourcesBorder",
    233247                new Model<String>("Resources"), CSS_CLASS + " resources");
     
    248262        cols[1] = new PropertyColumn<Resource>(
    249263                new Model<String>("Reference"), "ref");
    250 
    251         @SuppressWarnings("unchecked")
     264       
     265        final SortableDataProvider<Resource> resourcesProvider = new SortableDataProvider<Resource>() {
     266            @Override
     267            public Iterator<? extends Resource>
     268                    iterator(int first, int count) {
     269                return model.getObject().getResources().listIterator(first);
     270            }
     271
     272            @Override
     273            public IModel<Resource> model(Resource resource) {
     274                return new VolatileEntityModel<Resource>(resource);
     275            }
     276
     277            @Override
     278            public int size() {
     279                return model.getObject().getResources().size();
     280            }
     281        };
     282
    252283        final DataTable<Resource> resourcesTable
    253284                = new AjaxFallbackDefaultDataTable<Resource>("resourcesTable",
    254                         cols,
    255                         new SortableDataProvider<Resource>() {
    256                             @Override
    257                             public Iterator<? extends Resource>
    258                             iterator(int first, int count) {
    259                                 return model.getObject().getResources().listIterator(first);
    260                             }
    261 
    262                             @Override
    263                             public IModel<Resource> model(Resource resource) {
    264                                 return new VolatileEntityModel<Resource>(resource);
    265                             }
    266 
    267                             @Override
    268                             public int size() {
    269                                 return model.getObject().getResources().size();
    270                             }
    271                         },
    272                         64);
     285                        cols, resourcesProvider, 64);
    273286        resources.add(resourcesTable);
    274287        resources.setVisible(model.getObject().getType() == Type.EXTENSIONAL);
    275 
     288    }
     289
     290    private void addGeneratedBy(final IModel<VirtualCollection> model) {
    276291        final Border generated = new AjaxToggleBorder("generatedByBorder",
    277292                new Model<String>("Intensional Collection Query"), CSS_CLASS);
     
    325340
    326341    /**
    327      * 
     342     *
    328343     * @param vc collection to check for
    329344     * @throws UnauthorizedActionException if the VC is private and the current
Note: See TracChangeset for help on using the changeset viewer.