AT: commiting latest changes to the Palm Use data extension
authora.theys <a.theys@localhost>
Wed, 25 Jan 2012 17:55:28 +0000 (17:55 +0000)
committera.theys <a.theys@localhost>
Wed, 25 Jan 2012 17:55:28 +0000 (17:55 +0000)
eu.etaxonomy.taxeditor.editor/src/main/java/eu/etaxonomy/taxeditor/editor/view/uses/UsesLabelProvider.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/element/CdmFormFactory.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailElement.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/ui/section/userecords/UseRecordDetailSection.java
eu.etaxonomy.taxeditor.store/src/main/java/eu/etaxonomy/taxeditor/view/userecords/UseRecordsViewer.java

index 37968d9a7cd2473b39d92f018619e522006acf22..c6b9e4aaae2558c1d610b5963ecbbe1e4a5ad21a 100644 (file)
@@ -17,6 +17,8 @@ import eu.etaxonomy.cdm.model.common.LanguageString;
 import eu.etaxonomy.cdm.model.description.CategoricalData;\r
 import eu.etaxonomy.cdm.model.description.DescriptionBase;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
+import eu.etaxonomy.cdm.model.description.State;\r
+import eu.etaxonomy.cdm.model.description.StateData;\r
 import eu.etaxonomy.cdm.model.description.TextData;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
 \r
@@ -43,8 +45,30 @@ public class UsesLabelProvider extends ColumnLabelProvider implements
                        }\r
                }\r
                else if (element instanceof CategoricalData) {\r
-                       TextData textData = categoricalDescriptionBuilder.build((CategoricalData) element, getLanguageList());\r
-                       text = textData.getText(CdmStore.getDefaultLanguage());\r
+                       //String text = "";\r
+                       //TextData textData = categoricalDescriptionBuilder.build((CategoricalData) element, getLanguageList());\r
+                       if (((CategoricalData) element).getStates() != null) {\r
+                               for (StateData statedata : ((CategoricalData) element).getStates()) {\r
+                                       if(statedata.getState() != null) {\r
+                                               text = text + statedata.getState().getTitleCache();\r
+                                       }\r
+                                       else {\r
+                                               text = "No data provided";\r
+                                       }\r
+                               }\r
+                       }\r
+                       if (((CategoricalData) element).getStatesOnly() != null) {\r
+                               for (State state : ((CategoricalData) element).getStatesOnly()) {\r
+                                       if (state != null) {\r
+                                               text = text + state.getTitleCache();\r
+                                       }\r
+                                       else {\r
+                                               text = "No data provided";\r
+                                       }\r
+                               }\r
+                       }\r
+                       \r
+                       //text = textData.getText(CdmStore.getDefaultLanguage());\r
                        if (text == null || text.length() == 0) {\r
                                text = "No data provided";\r
                        }\r
index 7a6a2d8db12f430619cb5fe22d41c78b2a639e5c..1b93de00c0eab19d94a497886d3928204cab128e 100644 (file)
@@ -250,6 +250,8 @@ import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.user.GroupsByUserDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.user.UserDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.user.UserDetailSection;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailElement;
+import eu.etaxonomy.taxeditor.ui.section.userecords.UseRecordDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailElement;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.DefinedTermDetailSection;
 import eu.etaxonomy.taxeditor.ui.section.vocabulary.NamedAreaDetailSection;
@@ -1526,7 +1528,8 @@ public class CdmFormFactory extends FormToolkit {
                REFERENCED_ENTITY, 
                TERM_VOCABULARY,
                NAMED_AREA, 
-               NAMED_AREA_LEVEL
+               NAMED_AREA_LEVEL, 
+               USE_RECORD
        }
        
        public AbstractFormSection createDefinedTermDetailSection(Class definedTermClass,
@@ -1724,7 +1727,12 @@ public class CdmFormFactory extends FormToolkit {
                        section = new NamedAreaDetailSection(this, conversation, parentElement, 
                                        selectionProvider, style);
                        break;
+               case USE_RECORD:
+                       section = new UseRecordDetailSection(this, conversation, parentElement,
+                                       selectionProvider, style);
+                       break;
                }
+               
 
                if (section == null) {
                        throw new RuntimeException(
@@ -1859,6 +1867,10 @@ public class CdmFormFactory extends FormToolkit {
                case NAMED_AREA_LEVEL:
                        element = new DefinedTermDetailElement<NamedAreaLevel>(this, parentElement);
                        break;
+               case USE_RECORD:
+                       //element = new UseRecordDetailElement(this, parentElement, style);
+                       element = new UseRecordDetailElement(this, parentElement);
+                       break;
                }
 
                if (element == null) {
index bd7862777308a2d6e28857613c7e229c86d7b59a..4906b11389b8702ec882060de32b100739001946 100644 (file)
@@ -1,31 +1,46 @@
 package eu.etaxonomy.taxeditor.ui.section.userecords;\r
 \r
+\r
+\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+import java.util.UUID;\r
+\r
 import org.apache.log4j.Logger;\r
+import org.eclipse.swt.events.SelectionEvent;\r
+import org.eclipse.swt.events.SelectionListener;\r
 import org.eclipse.ui.forms.widgets.Section;\r
 \r
+import eu.etaxonomy.cdm.api.service.IVocabularyService;\r
+import eu.etaxonomy.cdm.model.common.DefinedTermBase;\r
+import eu.etaxonomy.cdm.model.common.Language;\r
+import eu.etaxonomy.cdm.model.common.LanguageString;\r
+import eu.etaxonomy.cdm.model.common.TermVocabulary;\r
 import eu.etaxonomy.cdm.model.description.CategoricalData;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.description.State;\r
+import eu.etaxonomy.taxeditor.store.CdmStore;\r
+import eu.etaxonomy.taxeditor.store.TermStore;\r
 import eu.etaxonomy.taxeditor.ui.combo.TermComboElement;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
-import eu.etaxonomy.taxeditor.ui.forms.CheckboxElement;\r
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.element.CheckboxElement;\r
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EntityDetailType;\r
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailElement;\r
 import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailElement;\r
 import eu.etaxonomy.taxeditor.ui.section.description.StateDataSection;\r
 import eu.etaxonomy.taxeditor.ui.section.description.detail.AbstractDetailedDescriptionDetailElement;\r
 \r
 //public class UseRecordDetailElement extends AbstractDetailedDescriptionDetailElement<CategoricalData> {\r
-public class UseRecordDetailElement extends AbstractCdmDetailElement<CategoricalData> {\r
+public class UseRecordDetailElement extends AbstractCdmDetailElement<CategoricalData> implements SelectionListener {\r
 \r
        \r
        private static final Logger logger = Logger\r
                        .getLogger(DescriptionElementDetailElement.class);\r
        \r
-       private CheckboxElement checkbox_orderRelevant;\r
-       private TermComboElement UseCategory_stateData;\r
-       private UseSubCategorySection UseSubCategory_stateData;\r
+       //private CheckboxElement checkbox_orderRelevant;\r
+       private TermComboElement<State> combo_UseCategory;\r
+       private TermComboElement<State> combo_UseSubCategory;\r
        //private AbstractDetailedDescriptionDetailElement detailElement;\r
        \r
        /*public UseRecordDetailElement(CdmFormFactory formFactory,\r
@@ -45,25 +60,104 @@ public class UseRecordDetailElement extends AbstractCdmDetailElement<Categorical
                        CategoricalData entity, int style) {\r
                \r
                \r
-               State state = State.NewInstance("Tato", "Toto", "Titi");\r
+               //State state = State.NewInstance("Tato", "Toto", "Titi");\r
                //checkbox_orderRelevant = formFactory.createCheckbox(formElement, "Order Relevant", entity.getOrderRelevant(), style);\r
-               UseCategory_stateData = formFactory.createTermComboElement(State.class, this, "Use Category", state , style);\r
+               combo_UseCategory = formFactory.createTermComboElement(State.class, this, "Use Category", null , style);\r
+               combo_UseCategory.addSelectionListener(this);\r
+               combo_UseSubCategory = formFactory.createTermComboElement(State.class, this, "Use Sub Category", null , style);\r
+               //List<State> listOfTerms = TermStore.getTerms(State.class,null , false);\r
+               \r
+               \r
+               //UUID uuidUseCategory = UUID.fromString("2bb365af-ce6c-4196-a30b-e69b05099ed0"); \r
+               //TermVocabulary termVoc = CdmStore.getService(IVocabularyService.class).find(uuidUseCategory);\r
+               List<State> termsToAdd = setUseCategoryComboTerms(TermStore.getTerms(State.class,null , false));\r
+               //combo_UseCategory.setTerms(setUseCategoryComboTerms(listOfTerms));\r
+               combo_UseCategory.setTerms(termsToAdd);\r
+               \r
+                               //getPreferredTerms(State.class));\r
+               //UseSubCategory_stateData = formFactory.createTermComboElement(State.class, this, "Use Sub Category", null , style);\r
                //createEntityDetailSection(EntityDetailType.USE_CAT, getConversationHolder(), formElement, Section.EXPANDED);\r
-               UseSubCategory_stateData = (UseSubCategorySection) formFactory.createEntityDetailSection(EntityDetailType.USE_SUBCAT, getConversationHolder(), formElement,Section.EXPANDED);\r
+               //UseSubCategory_stateData = (UseSubCategorySection) formFactory.createEntityDetailSection(EntityDetailType.USE_SUBCAT, getConversationHolder(), formElement,Section.EXPANDED);\r
                //UseCategory_stateData.setEntity(entity);\r
-               UseSubCategory_stateData.setEntity(entity);\r
+               //UseSubCategory_stateData.setEntity(entity);\r
                //UseCategory_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));\r
-               UseSubCategory_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));\r
+               //UseSubCategory_stateData.setLayoutData(CdmFormFactory.FILL_HORIZONTALLY(2, 1));\r
                \r
        }\r
        \r
        \r
+       private List<State> setUseCategoryComboTerms(List<State> listOfTerms) {\r
+               List<State> termsToAdd = new ArrayList<State>();\r
+               for(State term : listOfTerms) {\r
+                       \r
+                       if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals("Use Category"))) {\r
+                               termsToAdd.add(term);\r
+                       }\r
+               }\r
+               return termsToAdd;\r
+               \r
+       }\r
+       \r
+       private List<State> setUseCategoryComboTerms(List<State> listOfTerms,\r
+                       State selectedUseCategory) {\r
+               List<State> termsToAdd = new ArrayList<State>();\r
+               for(State term : listOfTerms) {\r
+                       if ((term.getPartOf() != null) && (term.getPartOf().getTitleCache().equals(selectedUseCategory.getTitleCache()))) {\r
+                               termsToAdd.add(term);\r
+                       }\r
+                               \r
+               }\r
+               \r
+               // TODO Auto-generated method stub\r
+               return termsToAdd;\r
+       }\r
+\r
        /** {@inheritDoc} */\r
        @Override\r
        public void handleEvent(Object eventSource) {\r
-               if(eventSource == checkbox_orderRelevant){\r
+               /*if(eventSource == checkbox_orderRelevant){\r
                        getEntity().setOrderRelevant(checkbox_orderRelevant.getSelection());\r
+               }*/\r
+               if(eventSource == combo_UseCategory){\r
+                       TermVocabulary<State> useCategoryVocabulary = TermVocabulary.NewInstance("Use category vocabulary", "use categories", null, null); \r
+                       State useCategory1 = State.NewInstance("My first use category", "use category 1", null);\r
+                       useCategoryVocabulary.addTerm(useCategory1);\r
+                       getEntity().addState(useCategory1);\r
+                       List<State> currentStates = new ArrayList<State>();\r
+                       currentStates.add(combo_UseCategory.getSelection());\r
+                       getEntity().setStatesOnly(currentStates);\r
+                       //getEntity().addState(combo_UseCategory.getSelection());\r
+                       //.setOrderRelevant(combo_UseCategory.getSelection());\r
                }\r
        }\r
+       \r
+       /** {@inheritDoc} */\r
+       @Override\r
+       public void setEntity(CategoricalData entity) {\r
+//             section_stateData.setEntity(entity);\r
+               super.setEntity(entity);\r
+       }\r
+\r
+       @Override\r
+       public void widgetSelected(SelectionEvent e) {\r
+               State selectedUseCategory = combo_UseCategory.getSelection();\r
+               if (selectedUseCategory != null) {\r
+                       combo_UseSubCategory.setTerms(setUseCategoryComboTerms(TermStore.getTerms(State.class,null , false), selectedUseCategory));\r
+                       /*selectedLanguageString = getMultilanguageText().get(\r
+                                       selectedLanguage);\r
+\r
+                       element_languageString.setLanguageString(selectedLanguageString);*/\r
+               }\r
+               \r
+       }\r
+\r
+       \r
+\r
+       @Override\r
+       public void widgetDefaultSelected(SelectionEvent e) {\r
+               // TODO Auto-generated method stub\r
+               \r
+       }\r
+       \r
 \r
 }\r
index 38f0fd34cf079fb689742e758f40443a718c461d..31891b7e7380e2b887c0aeeb1595e2774174cbb7 100644 (file)
@@ -5,9 +5,9 @@ import org.eclipse.jface.viewers.ISelectionProvider;
 import eu.etaxonomy.cdm.api.conversation.ConversationHolder;\r
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.taxeditor.store.CdmStore;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
-import eu.etaxonomy.taxeditor.ui.forms.ICdmFormElement;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.element.ICdmFormElement;\r
 import eu.etaxonomy.taxeditor.ui.section.AbstractCdmDetailSection;\r
 \r
 public class UseRecordDetailSection extends AbstractCdmDetailSection<DescriptionElementBase> {\r
index 047a4a05235545be6ceb9e30d208d7462e6275c9..d587b3fc21052016f156607566b0c31618a57fb7 100644 (file)
@@ -10,9 +10,9 @@ import eu.etaxonomy.cdm.model.description.DescriptionBase;
 import eu.etaxonomy.cdm.model.description.DescriptionElementBase;\r
 import eu.etaxonomy.cdm.model.reference.Reference;\r
 import eu.etaxonomy.cdm.model.taxon.TaxonBase;\r
-import eu.etaxonomy.taxeditor.ui.forms.RootElement;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.DetailType;\r
-import eu.etaxonomy.taxeditor.ui.forms.CdmFormFactory.EntityDetailType;\r
+import eu.etaxonomy.taxeditor.ui.element.RootElement;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.DetailType;\r
+import eu.etaxonomy.taxeditor.ui.element.CdmFormFactory.EntityDetailType;\r
 import eu.etaxonomy.taxeditor.ui.section.description.DescribedSpecimenSection;\r
 import eu.etaxonomy.taxeditor.ui.section.description.DescriptionDetailSection;\r
 import eu.etaxonomy.taxeditor.ui.section.description.DescriptionElementDetailSection;\r