Changeset 6302


Ignore:
Timestamp:
06/17/15 07:34:42 (9 years ago)
Author:
Twan Goosen
Message:

'Modelised' some models and components that took static String values

Location:
vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/components/SolrFieldLabel.java

    r6046 r6302  
    4040        super(id, new NullFallbackModel(new SolrFieldStringModel(documentModel, fieldName), nullFallback));
    4141    }
     42   
     43    public SolrFieldLabel(String id, IModel<SolrDocument> documentModel, String fieldName, IModel<String> nullFallback) {
     44        super(id, new NullFallbackModel(new SolrFieldStringModel(documentModel, fieldName), nullFallback));
     45    }
    4246
    4347    /**
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/NullFallbackModel.java

    r4537 r6302  
    1818
    1919import org.apache.wicket.model.IModel;
     20import org.apache.wicket.model.Model;
    2021
    2122/**
     
    2930
    3031    private final IModel<String> wrappedModel;
    31     private final String fallbackValue;
     32    private final IModel<String> fallbackModel;
    3233
    3334    public NullFallbackModel(IModel<String> wrappedModel, String fallbackValue) {
     35        this(wrappedModel, Model.of(fallbackValue));
     36    }
     37
     38    public NullFallbackModel(IModel<String> wrappedModel, IModel<String> fallbackModel) {
    3439        this.wrappedModel = wrappedModel;
    35         this.fallbackValue = fallbackValue;
     40        this.fallbackModel = fallbackModel;
    3641    }
    3742
     
    4045        final String wrappedValue = wrappedModel.getObject();
    4146        if (wrappedValue == null) {
    42             return fallbackValue;
     47            return fallbackModel.getObject();
    4348        } else {
    4449            return wrappedValue;
     
    5459    public void detach() {
    5560        wrappedModel.detach();
     61        fallbackModel.detach();
    5662    }
    5763
  • vlo/trunk/vlo-web-app/src/main/java/eu/clarin/cmdi/vlo/wicket/model/SolrDocumentModel.java

    r5187 r6302  
    2121import eu.clarin.cmdi.vlo.service.solr.SolrDocumentService;
    2222import org.apache.solr.common.SolrDocument;
     23import org.apache.wicket.model.IModel;
    2324import org.apache.wicket.model.LoadableDetachableModel;
     25import org.apache.wicket.model.Model;
    2426
    2527/**
     
    3234public class SolrDocumentModel extends LoadableDetachableModel<SolrDocument> {
    3335
    34     private final String docId;
     36    private final IModel<String> docId;
    3537
    3638    public SolrDocumentModel(SolrDocument document) {
    3739        super(document);
    38         this.docId = (String) document.getFieldValue(FacetConstants.FIELD_ID);
     40        this.docId = Model.of((String) document.getFieldValue(FacetConstants.FIELD_ID));
    3941    }
    4042
    4143    public SolrDocumentModel(String docId) {
     44        this(Model.of(docId));
     45    }
     46
     47    public SolrDocumentModel(IModel<String> docId) {
    4248        this.docId = docId;
    4349    }
     
    4854            return null;
    4955        } else {
    50             return getDocumentService().getDocument(docId);
     56            final String id = docId.getObject();
     57            if (id == null) {
     58                return null;
     59            } else {
     60                return getDocumentService().getDocument(id);
     61            }
    5162        }
    5263    }
     
    5465    @Override
    5566    public String toString() {
    56         return String.format("%s docId=%s attached=%b", super.toString(), docId, isAttached());
     67        return String.format("%s docId=%s attached=%b", super.toString(), docId.getObject(), isAttached());
    5768    }
    5869
Note: See TracChangeset for help on using the changeset viewer.