Changeset 607


Ignore:
Timestamp:
Mar 20, 2012, 12:57:35 PM (5 years ago)
Author:
mark9630@…
Message:

support for adding new labels

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/code/conceptwiki/web/web-gwt/src/main/java/nl/nbic/conceptwiki/web/gwt/client/ui/impl/ConceptViewImpl.java

    r605 r607  
    1111import nl.nbic.conceptwiki.common.api.Concept;
    1212import nl.nbic.conceptwiki.common.api.Label;
     13import nl.nbic.conceptwiki.common.api.Language;
    1314import nl.nbic.conceptwiki.common.api.Label.LabelType;
    1415import nl.nbic.conceptwiki.common.api.Note;
     
    1718import nl.nbic.conceptwiki.common.impl.ChangesetImpl.ActionImpl;
    1819import nl.nbic.conceptwiki.common.impl.LabelImpl;
     20import nl.nbic.conceptwiki.common.impl.LanguageImpl;
    1921import nl.nbic.conceptwiki.web.gwt.client.resources.MyResources;
    2022import nl.nbic.conceptwiki.web.gwt.client.ui.ConceptView;
     
    127129                public void update(final int index, final Label object, final String value) {
    128130                        if (!value.equals(object.getText())) {
    129                                 logger.info("updating label " + object.getLanguage().getCode());                                       
     131                                logger.info("updating label " + object.getText() + " with " + value);                                   
    130132                                Label newLabel = new LabelImpl(object.getType(), value, object.getLanguage());
    131                                 changes.withRemove(new ActionImpl().withLabels(ImmutableSet.of(object)));
    132                                 changes.withAdd(new ActionImpl().withLabels(ImmutableSet.of(newLabel)));
     133                                if(! object.getText().isEmpty()) { // provision for newly added label
     134                                        logger.info("not removing empty (new) label");
     135                                        changes.withRemove(new ActionImpl().withLabels(ImmutableSet.of(object)));
     136                                }
     137                                Set<Label> addedLabels = new HashSet<Label>();
     138                                addedLabels.add(newLabel);
     139                                if(changes.getAdd() != null) {
     140                                        addedLabels.addAll(changes.getAdd().getLabels());
     141                                }
     142                                changes.withAdd(new ActionImpl().withLabels(addedLabels));
     143                                logger.info("changeset now adds number of labels: " + changes.getAdd().getLabels().size());
    133144                        } else {
    134145                                logger.info("Warning edited label value is the same as old one.");
     
    219230        }
    220231       
     232        drawTerminologyTable();
     233       
     234        // TMP
     235        terminologyTable.addStyleName(resources.css().cwTerminologyTable());
     236       
     237        for (Note note : concept.getNotes()) {
     238                if (note.getType() == NoteType.DEFINITION) {
     239                        if (!definitionMapping.containsKey(note)) {
     240                                definitionMapping.put(note, new HashSet<Integer>());
     241                        }
     242                        definitionMapping.get(note).add(branch);
     243                }
     244        }
     245        definitionTable.setRowData(ImmutableList.copyOf(definitionMapping.keySet()));
     246        // TMP-END
     247    }
     248   
     249    private void drawTerminologyTable() {
    221250        Iterable<Label> filtered = Iterables.filter(branchMapping.keySet(), new Predicate<Label>() {                   
    222251                @Override
     
    242271        });
    243272        terminologyTable.setRowData(filteredList);
    244        
    245         // TMP
    246         terminologyTable.addStyleName(resources.css().cwTerminologyTable());
    247        
    248         for (Note note : concept.getNotes()) {
    249                 if (note.getType() == NoteType.DEFINITION) {
    250                         if (!definitionMapping.containsKey(note)) {
    251                                 definitionMapping.put(note, new HashSet<Integer>());
    252                         }
    253                         definitionMapping.get(note).add(branch);
    254                 }
    255         }
    256         definitionTable.setRowData(ImmutableList.copyOf(definitionMapping.keySet()));
    257         // TMP-END
     273        }
     274
     275        @UiHandler("addButton")
     276    protected void onButtonClick1(final ClickEvent e) {
     277        if(e.getSource().equals(addButton)) {
     278                logger.info("someone pressed add");
     279        }
     280        Label emptyLabel = new LabelImpl(LabelType.ALTERNATIVE, "", new LanguageImpl("en"));
     281        Set<Integer> community = new HashSet<Integer>();
     282        community.add(new Integer(1));
     283        branchMapping.put(emptyLabel, community);
     284        drawTerminologyTable();
    258285    }
    259286   
     
    277304
    278305                presenter.updateConcept(changes);
     306                changes = new ChangesetImpl();
     307                drawTerminologyTable();
    279308               
    280309                terminologyTable.removeColumn(delColumn);
Note: See TracChangeset for help on using the changeset viewer.