catch up with development
Signed-off-by: Ralf Mollik <ramollik@compex-commerce.com>
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N.properties b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N.properties
index 1fd132c..ff70c83 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N.properties
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N.properties
@@ -217,6 +217,8 @@
user_menu_tooltip = user_menu_tooltip
+usergroup_tip = usergroup_tip
+
users = users
valid = valid
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_de.properties b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_de.properties
index d0774e2..8e70495 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_de.properties
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_de.properties
@@ -217,6 +217,8 @@
user_menu_tooltip = Aufklappmen\u00FC
+usergroup_tip = Benutzergruppe
+
users = Benutzer
valid = Daten sind g\u00FCltig
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_en.properties b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_en.properties
index ef9bfc8..3a2f508 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_en.properties
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_en.properties
@@ -217,6 +217,8 @@
user_menu_tooltip = Drop-down menu
+usergroup_tip = user group
+
users = Users
valid = Data valid
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_fr.properties b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_fr.properties
index 8bc5d95..d91fbf9 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_fr.properties
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/i18n/I18N_fr.properties
@@ -211,6 +211,8 @@
user_menu_tooltip = Menu d\u00E9roulant
+usergroup_tip = Groupe d'Utilisateur
+
users = Utilisateur
valid = Les donn\u00E9es sont valides
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/maintoolbar/MainToolbarProvider.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/maintoolbar/MainToolbarProvider.java
index 08b413b..cb308cf 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/maintoolbar/MainToolbarProvider.java
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/maintoolbar/MainToolbarProvider.java
@@ -232,7 +232,7 @@
toolItem.setType(ItemType.PUSH);
toolItem.setTooltip(buttonModel.getName());
- toolItem.setIconURI(themeResourceService.getThemeURI(buttonModel.getIconURI(), ThemeResourceType.ICON));
+ toolItem.setIconURI(themeResourceService.getThemeURI(buttonModel.getCommand().getIconURI(), ThemeResourceType.ICON));
toolItem.setEnabled(true);
toolItem.setToBeRendered(true);
toolItem.setVisible(true);
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java
index f0ef321..ce41dc1 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/perspective/DialogProvider.java
@@ -438,7 +438,6 @@
return;
}
}
-
addSaveAndNewListener();
if(dialogModel.getGroup() != null) {
@@ -691,7 +690,7 @@
viewContext = ecviewComponent.setValue(viewId, null, renderingParams);
viewContext.setLocale(user.getLocale());
YView yView = (YView) viewContext.getViewEditpart().getModel();
-
+
if (yView == null) {
Notification.show("Dialog could not be found!", Type.ERROR_MESSAGE);
return;
@@ -1124,8 +1123,8 @@
private void actionSave() {
DTO savedDto = (DTO) viewContext.getBean(IViewContext.MAIN_BEAN_SLOT);
if(validate(savedDto)) {
- executeDialogFunction("pre save", preSaveMethod, savedDto);
- dtoService.update(savedDto);
+ if( executeDialogFunction("pre save", preSaveMethod, savedDto) )
+ dtoService.update(savedDto);
DTO newDto = dtoService.reload(savedDto);
executeDialogFunction("post save", postSaveMethod, newDto);
updateBindings(newDto);
@@ -1137,8 +1136,8 @@
private void actionSaveAndNew() {
DTO savedDto = (DTO) viewContext.getBean(IViewContext.MAIN_BEAN_SLOT);
if(validate(savedDto)) {
- executeDialogFunction("pre save", preSaveMethod, savedDto);
- dtoService.update(savedDto);
+ if( executeDialogFunction("pre save", preSaveMethod, savedDto) )
+ dtoService.update(savedDto);
DTO newDto = dtoService.reload(savedDto);
executeDialogFunction("post save", postSaveMethod, newDto);
if(lastBaseDto != null) {
@@ -1153,8 +1152,8 @@
private void actionSaveAsNew() {
DTO newDto = (DTO) DtoUtils.copyDto(viewContext.getBean(IViewContext.MAIN_BEAN_SLOT));
if(validate(newDto)) {
- executeDialogFunction("pre save", preSaveMethod, newDto);
- dtoService.update(newDto);
+ if( executeDialogFunction("pre save", preSaveMethod, newDto) )
+ dtoService.update(newDto);
newDto = dtoService.reload(newDto);
executeDialogFunction("post save", postSaveMethod, newDto);
updateBindings(newDto);
diff --git a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/userfilter/UserFilterDialogProvider.java b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/userfilter/UserFilterDialogProvider.java
index 6761211..df7d7a2 100644
--- a/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/userfilter/UserFilterDialogProvider.java
+++ b/org.eclipse.osbp.vaaclipse.addons.softwarefactory/src/org/eclipse/osbp/vaaclipse/addons/softwarefactory/userfilter/UserFilterDialogProvider.java
@@ -17,6 +17,7 @@
import java.util.ArrayList;
import java.util.Collection;
+import java.util.Collections;
import java.util.HashSet;
import java.util.List;
import java.util.Locale;
@@ -34,12 +35,12 @@
import javax.persistence.criteria.Root;
import org.eclipse.emf.ecore.EObject;
-import org.eclipse.osbp.authentication.account.dtos.UserAccountDto;
-import org.eclipse.osbp.authentication.account.dtos.UserAccountFilterDto;
-import org.eclipse.osbp.authentication.account.dtos.mapper.UserAccountDtoMapper;
-import org.eclipse.osbp.authentication.account.dtos.mapper.UserAccountFilterDtoMapper;
-import org.eclipse.osbp.authentication.account.entities.UserAccount;
-import org.eclipse.osbp.authentication.account.entities.UserAccountFilter;
+import org.eclipse.osbp.authentication.account.dtos.FilterDto;
+import org.eclipse.osbp.authentication.account.dtos.UserGroupDto;
+import org.eclipse.osbp.authentication.account.dtos.mapper.FilterDtoMapper;
+import org.eclipse.osbp.authentication.account.dtos.mapper.UserGroupDtoMapper;
+import org.eclipse.osbp.authentication.account.entities.Filter;
+import org.eclipse.osbp.authentication.account.entities.UserGroup;
import org.eclipse.osbp.core.api.persistence.IPersistenceService;
import org.eclipse.osbp.dsl.common.datatypes.IDto;
import org.eclipse.osbp.dsl.dto.lib.impl.DtoServiceAccess;
@@ -53,7 +54,6 @@
import org.eclipse.osbp.jpa.services.filters.LJoinFilter;
import org.eclipse.osbp.runtime.common.annotations.DtoUtils;
import org.eclipse.osbp.runtime.common.filter.IDTOService;
-import org.eclipse.osbp.runtime.common.filter.ILFilter;
import org.eclipse.osbp.runtime.common.types.IBundleSpace;
import org.eclipse.osbp.runtime.web.vaadin.common.data.BeanServiceLazyLoadingContainer;
import org.eclipse.osbp.runtime.web.vaadin.common.data.IAlreadyLoadedItemIdProvider;
@@ -105,7 +105,7 @@
IModelingContext modelingContext;
/** The user field. */
- private ComboBox userField;
+ private ComboBox userGroupField;
/** The entity field. */
private EObjectComboBox entityField;
@@ -230,7 +230,7 @@
try {
@SuppressWarnings("unchecked")
Class<IDto> dtoClass = (Class<IDto>) bundleSpace.forName(fqnDto);
- IDTOService<IDto> service = (IDTOService<IDto>) DtoServiceAccess
+ IDTOService<IDto> service = DtoServiceAccess
.getService(dtoClass);
StatefulDelegatingDtoSearchService<IDto> loadingService = new StatefulDelegatingDtoSearchService<>(
service, dtoClass);
@@ -259,7 +259,7 @@
// be preselected.
final Set<IDto> selectedFilters = new HashSet<>();
// Searching for candidates for preselection
- for (UserAccountFilterDto accountFilterDto : getFilters()) {
+ for (FilterDto accountFilterDto : getFilters()) {
String filter = accountFilterDto.getFilter();
String filterId = getFilterId(filter);
String filterEntity = getFilterEntity(filter);
@@ -268,7 +268,7 @@
String entityDtoName = EntityUtils.getQualifiedDtoNameForQualifiedEntityName(filterEntity);
for (IDto dto : items) {
// Excluding not existing entities within the filters in
- // UserAccountFilter
+ // Filter
if (dto.getClass().getName().equals(entityDtoName)) { // NOSONAR
// selection of the inverse check-box
boolean inversValue = accountFilterDto.getInvers();
@@ -278,10 +278,10 @@
// Identify the entity candidates comparing their ID
// with
// the persisted ID within the filter in
- // UserAccountFilter
+ // Filter
Object idValue = DtoUtils.getIdValue(dto);
if (idValue instanceof Integer) {
- if (new Integer(filterId).equals((Integer) idValue)) {
+ if (new Integer(filterId).equals(idValue)) {
selectedFilters.add(dto);
}
} else {
@@ -331,20 +331,20 @@
*
* @return the filters
*/
- private Collection<UserAccountFilterDto> getFilters() {
+ private Collection<FilterDto> getFilters() {
// UserAccount
- UserAccountDto userDto = (UserAccountDto) userField.getValue();
+ UserGroupDto userGroup = (UserGroupDto) userGroupField.getValue();
// create UserAccountDTOService
- IDTOService<UserAccountFilterDto> service = (IDTOService<UserAccountFilterDto>) DtoServiceAccess
- .getService(UserAccountFilterDto.class);
- // find all useraccountfilter elements with the reference to the
- // providing user account id.
- ILFilter filter = null;
- if (userDto != null) {
- Equal idCompareFilter = new LCompare.Equal("id", userDto.getId());
- filter = new LJoinFilter("userAccount", idCompareFilter);
+ IDTOService<FilterDto> service = DtoServiceAccess
+ .getService(FilterDto.class);
+ // find all filter elements with the reference to the
+ // providing usergroup id.
+ if (userGroup != null) {
+ Equal idCompareFilter = new LCompare.Equal("id", userGroup.getId());
+ LJoinFilter filter = new LJoinFilter("userGroup", idCompareFilter);
+ return service.find(new Query(filter));
}
- return service.find(new Query(filter));
+ return Collections.emptyList();
}
}
@@ -476,13 +476,13 @@
*/
@Override
public void buttonClick(ClickEvent event) {
- updateUserAccountFilterTable();
+ updateFilterTable();
}
/**
* Update user account filter table.
*/
- private void updateUserAccountFilterTable() {
+ private void updateFilterTable() {
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
criteriaDeleteAndUpdate(em);
@@ -497,31 +497,31 @@
* the entity manager factory
*/
private void criteriaDeleteAndUpdate(EntityManager em) {
- UserAccountDto userDto = (UserAccountDto) userField.getValue();
+ UserGroupDto userGroupDto = (UserGroupDto) userGroupField.getValue();
CriteriaBuilder cb = em.getCriteriaBuilder();
// delete all existing entries as prerequisite for the following
// update
// of the user account
- CriteriaDelete<UserAccountFilter> delete = cb.createCriteriaDelete(UserAccountFilter.class);
+ CriteriaDelete<Filter> delete = cb.createCriteriaDelete(Filter.class);
// set the root class
- Root<UserAccountFilter> userAccountFilterRootDelete = delete.from(UserAccountFilter.class);
- Join<UserAccountFilter, UserAccount> uaJoin = userAccountFilterRootDelete.join("userAccount",
+ Root<Filter> userGroupFilterRootDelete = delete.from(Filter.class);
+ Join<Filter, UserGroup> uaJoin = userGroupFilterRootDelete.join("userGroup",
JoinType.LEFT);
// set where clause
- Predicate cbEqualId = cb.equal(uaJoin.get("id"), userDto.getId());
+ Predicate cbEqualId = cb.equal(uaJoin.get("id"), userGroupDto.getId());
String likeString = EntityUtils.getFQNForLEntity((LEntity) entityField.getValue()) + FILTER_DELIMITER + "%";
- Predicate cbLikeEntity = cb.like(userAccountFilterRootDelete.get("filter"), likeString);
+ Predicate cbLikeEntity = cb.like(userGroupFilterRootDelete.get("filter"), likeString);
delete.where(cb.and(cbEqualId, cbLikeEntity));
// perform delete
em.createQuery(delete).executeUpdate();
// create an empty userAccount and set only the id.
- UserAccountDtoMapper<UserAccountDto, UserAccount> userAccountMapper = new UserAccountDtoMapper<>();
- UserAccount userAccount = userAccountMapper.createEntity();
- userAccount.setId(userDto.getId());
+ UserGroupDtoMapper<UserGroupDto, UserGroup> userGroupMapper = new UserGroupDtoMapper<>();
+ UserGroup userGroup = userGroupMapper.createEntity();
+ userGroup.setId(userGroupDto.getId());
- UserAccountFilterDtoMapper<UserAccountFilterDto, UserAccountFilter> userAccountFilterMapper = new UserAccountFilterDtoMapper<>();
+ FilterDtoMapper<FilterDto, Filter> userGroupFilterMapper = new FilterDtoMapper<>();
// creation of all the required data to insert
LEntity entityValue = ((LEntity) entityField.getValue());
@@ -538,13 +538,13 @@
Object idValue = DtoUtils.getValue(dto, entityValue.getPrimaryKeyAttribute().getName());
String filterValue = fqn + FILTER_DELIMITER + idValue;
// create userAccountFilter entity
- UserAccountFilter userAccountFilter = userAccountFilterMapper.createEntity();
- userAccountFilter.setId(java.util.UUID.randomUUID().toString());
- userAccountFilter.setFilter(filterValue);
- userAccountFilter.setInvers(filterCheckInvers.getValue());
- userAccountFilter.setUserAccount(userAccount);
+ Filter userGroupFilter = userGroupFilterMapper.createEntity();
+ userGroupFilter.setId(java.util.UUID.randomUUID().toString());
+ userGroupFilter.setFilter(filterValue);
+ userGroupFilter.setInvers(filterCheckInvers.getValue());
+ userGroupFilter.setUserGroup(userGroup);
// persist the userAccountFilter entity
- em.persist(userAccountFilter);
+ em.persist(userGroupFilter);
}
Notification.show("SAVED", "The " + keys.size() + " filter were successfully saved.",
Notification.Type.HUMANIZED_MESSAGE);
@@ -561,11 +561,7 @@
*/
@Override
public void valueChange(ValueChangeEvent event) {
- if (userField.getValue() != null && entityField.getValue() != null && (filterField.getValue() != null)) {
- save.setEnabled(true);
- } else {
- save.setEnabled(false);
- }
+ save.setEnabled(userGroupField.getValue() != null && entityField.getValue() != null && (filterField.getValue() != null));
}
/*
@@ -615,11 +611,11 @@
dataArea.setMargin(true);
parent.addComponent(dataArea);
- userField = new ComboBox();
- userField.setItemCaptionPropertyId("userName");
- userField.setImmediate(true);
- userField.setSizeFull();
- comboArea.addComponent(userField);
+ userGroupField = new ComboBox();
+ userGroupField.setItemCaptionPropertyId("userGroupName");
+ userGroupField.setImmediate(true);
+ userGroupField.setSizeFull();
+ comboArea.addComponent(userGroupField);
entityField = new EObjectComboBox(modelingContext.getAdapterFactory());
entityField.setImmediate(true);
@@ -672,8 +668,8 @@
fillItems();
// Listener
- userField.addValueChangeListener(this);
- userField.addValueChangeListener(new UserComboBoxValueChangeListener());
+ userGroupField.addValueChangeListener(this);
+ userGroupField.addValueChangeListener(new UserComboBoxValueChangeListener());
entityField.addValueChangeListener(this);
entityField.addValueChangeListener(new EntityComboBoxValueChangeListener());
filterField.addValueChangeListener(this);
@@ -697,8 +693,7 @@
*/
// ---------- Helper Methods ------------
private void fillUsersComboBox() {
- IDTOService<UserAccountDto> service = (IDTOService<UserAccountDto>) DtoServiceAccess
- .getService(UserAccountDto.class);
+ IDTOService<UserGroupDto> service = DtoServiceAccess.getService(UserGroupDto.class);
// getting all existing users.
// not using directly the UserAccountDtoService via find-Method due to
@@ -706,11 +701,11 @@
// therefore we use here the combination of
// StatefulDelegatingDtoSearchService and
// BeanServiceLazyLoadingContainer.
- StatefulDelegatingDtoSearchService<UserAccountDto> loadingService = new StatefulDelegatingDtoSearchService<>(
- service, UserAccountDto.class);
- BeanServiceLazyLoadingContainer<UserAccountDto> datasource = new BeanServiceLazyLoadingContainer<>(
- loadingService, UserAccountDto.class, null);
- userField.setContainerDataSource(datasource);
+ StatefulDelegatingDtoSearchService<UserGroupDto> loadingService = new StatefulDelegatingDtoSearchService<>(
+ service, UserGroupDto.class);
+ BeanServiceLazyLoadingContainer<UserGroupDto> datasource = new BeanServiceLazyLoadingContainer<>(
+ loadingService, UserGroupDto.class, null);
+ userGroupField.setContainerDataSource(datasource);
}
/**
@@ -736,7 +731,7 @@
*/
@Override
public void localeChanged(Locale locale) {
- userField.setDescription(dslMetadataService.translate(locale.toLanguageTag(), "username_tip"));
+ userGroupField.setDescription(dslMetadataService.translate(locale.toLanguageTag(), "usergroup_tip"));
entityField.setDescription(dslMetadataService.translate(locale.toLanguageTag(), "entity_tip"));
filterCheckInvers.setCaption(dslMetadataService.translate(locale.toLanguageTag(), "invers"));
filterCheckInvers.setDescription(dslMetadataService.translate(locale.toLanguageTag(), "invers_tip"));