Project

General

Profile

« Previous | Next » 

Revision e5668830

Added by Andreas Müller over 6 years ago

ref #6903 preferences for vaadin

View differences:

cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/CdmPreference.java
56 56
    }
57 57

  
58 58
    /**
59
     * @param test
60
     * @param string
59
     * @param predicate
60
     * @param value
61
     * @return
62
     */
63
    public static CdmPreference NewDatabaseInstance(PreferencePredicate predicate, String value) {
64
        return new CdmPreference(PreferenceSubject.NewDatabaseInstance(), predicate, value);
65
    }
66

  
67
    /**
68
     * @param predicate
69
     * @param value
61 70
     * @return
62 71
     */
63
    public static CdmPreference NewDatabaseInstance(PreferencePredicate test, String value) {
64
        return new CdmPreference(PreferenceSubject.NewDatabaseInstance(), test, value);
72
    public static CdmPreference NewVaadinInstance(PreferencePredicate predicate, String value) {
73
        return new CdmPreference(PreferenceSubject.NewVaadinInstance(), predicate, value);
65 74
    }
66 75

  
67 76
    public static PrefKey NewKey(PreferenceSubject subject, PreferencePredicate predicate){
......
124 133
            if (predicate.length() > 255) {
125 134
                throw new IllegalArgumentException("Predicate must not be longer then 255 for preference");
126 135
            }
127
            if (!subject.matches("/([A-Za-z]+\\[.*\\])?")){
128
                throw new IllegalArgumentException("Predicate does not follow the required syntax");
136
            if (!subject.matches(PreferenceSubject.ROOT + "(([A-Za-z]+\\[.*\\]|"+PreferenceSubject.VAADIN+")"+PreferenceSubject.SEP+")?")){
137
                throw new IllegalArgumentException("Subject does not follow the required syntax");
129 138
            }
130 139

  
131 140

  
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferencePredicate.java
36 36
	AbcdImportConfig(UUID.fromString("65380375-d041-458c-8275-c36cdc1f34df"), "AbcdImportConfig", "model.import.ABCD"),
37 37
	BioCaseProvider(UUID.fromString("bd22c85c-f4e8-4771-ae7b-5750868762c4"), "BioCaseProvider", "model.import.BP"),
38 38
	//vaadin
39
	AvailableDistributionStatus(UUID.fromString("6721599e-686b-460e-9d57-cfd364f4b626"), "Available Distribution Status", "model.distribution.statuslist")
39
	AvailableDistributionStatus(UUID.fromString("6721599e-686b-460e-9d57-cfd364f4b626"), "Available Distribution Status", "model.distribution.status.term"),
40
	AvailableDistributionAreaVocabularies(UUID.fromString("dd1f35d5-dbf3-426b-9ed3-8b5992cb2e27"), "Available Distribution Area Vocabularies", "model.distribution.area.voc")
40 41
    ;
41 42

  
42 43

  
cdmlib-model/src/main/java/eu/etaxonomy/cdm/model/metadata/PreferenceSubject.java
20 20

  
21 21
    public static final String ROOT = "/";
22 22
    public static final String SEP = "/";
23
    public static final String VAADIN = "vaadin";
23 24

  
24 25
    private String subject;
25 26

  
......
37 38
    }
38 39

  
39 40
    public static PreferenceSubject NewVaadinInstance(){
40
        return new PreferenceSubject(ROOT +  "Vaadin" + SEP);
41
        return new PreferenceSubject(ROOT +  VAADIN + SEP);
41 42
    }
42 43

  
43 44

  
cdmlib-model/src/test/java/eu/etaxonomy/cdm/model/metadata/CdmPreferenceTest.java
108 108
        CdmPreference prefs = null;
109 109
        String subject2 = null;
110 110
        try {
111
            subject2 = "/TaxonNode[#t1#18681#6392#5358#9#2#]";
111
            subject2 = "/TaxonNode[#t1#18681#6392#5358#9#2#]/";
112 112
            prefs = new CdmPreference(subject2, predicate, value);
113 113
            Assert.assertEquals(subject2, prefs.getSubject());
114 114
            Assert.assertEquals(predicate, prefs.getPredicate());
......
132 132
        } catch (Exception e) {
133 133
            //ok
134 134
        }
135

  
136
        try {
137
            prefs = CdmPreference.NewVaadinInstance(PreferencePredicate.AvailableDistributionStatus, value);
138
        } catch (Exception e) {
139
            Assert.fail("Syntax for /Vaadin/ should not fail");
140
        }
141

  
135 142
    }
136 143

  
137 144
    @Test
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/IPreferenceService.java
87 87
      */
88 88
     public CdmPreference findDatabase(PreferencePredicate predicate);
89 89

  
90
     /**
91
      * Retrieve the vaadin wide preference for the given predicate.
92
      * @param key
93
      * @return
94
      */
95
     public CdmPreference findVaadin(PreferencePredicate predicate);
90 96

  
91 97
     /**
92 98
      * Returns the best matching preference that matches the given
cdmlib-services/src/main/java/eu/etaxonomy/cdm/api/service/PreferenceServiceImpl.java
49 49
	}
50 50

  
51 51
    /**
52
     * Retrieve the database wide preference for the given predicate.
53
     * @param key
54
     * @return
52
     * {@inheritDoc}
55 53
     */
56 54
    @Override
57 55
    public CdmPreference findDatabase(PreferencePredicate predicate){
......
59 57
        return find(key);
60 58
    }
61 59

  
60
    /**
61
     * {@inheritDoc}
62
     */
63
    @Override
64
    public CdmPreference findVaadin(PreferencePredicate predicate){
65
        PrefKey key = CdmPreference.NewKey(PreferenceSubject.NewVaadinInstance(), predicate);
66
        return find(key);
67
    }
68

  
62 69

  
63 70
	@Override
64 71
    @Transactional(readOnly = false)

Also available in: Unified diff