*
* ============LICENSE_END============================================
*
- * ECOMP is a trademark and service mark of AT&T Intellectual Property.
+ *
*/
package org.onap.portalapp.portal.service;
import java.util.List;
import java.util.Map;
import java.util.Set;
+import java.util.UUID;
import javax.annotation.PostConstruct;
import javax.servlet.http.HttpServletResponse;
import org.onap.portalapp.portal.transport.FunctionalMenuItem;
import org.onap.portalapp.portal.transport.LocalRole;
import org.onap.portalapp.portal.transport.OnboardingApp;
-import org.onap.portalapp.portal.ueb.EPUebHelper;
import org.onap.portalapp.portal.utils.EPCommonSystemProperties;
import org.onap.portalapp.portal.utils.EcompPortalUtils;
import org.onap.portalsdk.core.logging.logic.EELFLoggerDelegate;
import com.att.nsa.cambria.client.CambriaClientBuilders;
import com.att.nsa.cambria.client.CambriaIdentityManager;
import com.att.nsa.cambria.client.CambriaTopicManager;
-import com.google.common.primitives.Ints;
public class EPAppCommonServiceImpl implements EPAppService {
@Autowired
protected SessionFactory sessionFactory;
@Autowired
- private DataAccessService dataAccessService;
- @Autowired
- private EPUebHelper epUebHelper;
+ private DataAccessService dataAccessService;
@PostConstruct
private void init() {
* (non-Javadoc)
*
* @see
- * org.openecomp.portalapp.portal.service.EPAppService#getAppCatalog(
- * org.openecomp.portalapp.portal.domain.EPUser)
+ * org.onap.portalapp.portal.service.EPAppService#getAppCatalog(
+ * org.onap.portalapp.portal.domain.EPUser)
*/
@Override
public List<AppCatalogItem> getUserAppCatalog(EPUser user) {
* (non-Javadoc)
*
* @see
- * org.openecomp.portalapp.portal.service.EPAppService#getAdminAppCatalog(
- * org.openecomp.portalapp.portal.domain.EPUser)
+ * org.onap.portalapp.portal.service.EPAppService#getAdminAppCatalog(
+ * org.onap.portalapp.portal.domain.EPUser)
*/
@Override
public List<AppCatalogItem> getAdminAppCatalog(EPUser user) {
List<OnboardingApp> onboardingAppsList = new ArrayList<OnboardingApp>();
for (EPApp app : apps) {
OnboardingApp onboardingApp = new OnboardingApp();
+ app.setAppPassword(EPCommonSystemProperties.APP_DISPLAY_PASSWORD);//to hide password from get request
createOnboardingFromApp(app, onboardingApp);
onboardingAppsList.add(onboardingApp);
}
List<OnboardingApp> onboardingAppsList = new ArrayList<OnboardingApp>();
for (EPApp app : apps) {
OnboardingApp onboardingApp = new OnboardingApp();
+ app.setAppPassword(EPCommonSystemProperties.APP_DISPLAY_PASSWORD); //to hide password from get request
createOnboardingFromApp(app, onboardingApp);
onboardingAppsList.add(onboardingApp);
}
}
}
+
protected void updateRestrictedApp(Long appId, OnboardingApp onboardingApp, FieldsValidator fieldsValidator,
EPUser user) {
+ synchronized (syncRests) {
+ boolean result = false;
+ Session localSession = null;
+ Transaction transaction = null;
+ try {
+ localSession = sessionFactory.openSession();
+ transaction = localSession.beginTransaction();
+ EPApp app;
+ if (appId == null) {
+ app = new EPApp();
+ /*
+ * In the parent class, the UEB code is responsible for generating the
+ * keys/secret/mailbox but UEB Messaging is not actually being used currently;
+ * may be used in future at which point we can just remove this method and
+ * depend on parent class's method So, using UUID generator to generate the
+ * unique key instead.
+ */
+ String uuidStr = UUID.randomUUID().toString();
+ String appKey = uuidStr;
+ String appSecret = uuidStr;
+ String appMailboxName = "ECOMP-PORTAL-OUTBOX";
+ onboardingApp.setUebTopicName(appMailboxName);
+ onboardingApp.setUebKey(appKey);
+ onboardingApp.setUebSecret(appSecret);
+ } else {
+ app = (EPApp) localSession.get(EPApp.class, appId);
+ if (app == null || app.getId() == null) {
+ // App is already deleted!
+ transaction.commit();
+ localSession.close();
+ fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_NOT_FOUND);
+ return;
+ }
+ }
+ logger.debug(EELFLoggerDelegate.debugLogger,
+ "updateRestrictedApp: about to call createAppFromOnboarding");
+ createAppFromOnboarding(app, onboardingApp, localSession);
+ logger.debug(EELFLoggerDelegate.debugLogger,
+ "updateRestrictedApp: finished calling createAppFromOnboarding");
+ localSession.saveOrUpdate(app);
+ logger.debug(EELFLoggerDelegate.debugLogger,
+ "updateRestrictedApp: finished calling localSession.saveOrUpdate");
+ // Enable or disable all menu items associated with this app
+ setFunctionalMenuItemsEnabled(localSession, onboardingApp.isEnabled, appId);
+ logger.debug(EELFLoggerDelegate.debugLogger,
+ "updateRestrictedApp: finished calling setFunctionalMenuItemsEnabled");
+ transaction.commit();
+ logger.debug(EELFLoggerDelegate.debugLogger,
+ "updateRestrictedApp: finished calling transaction.commit");
+ result = true;
+ } catch (Exception e) {
+ logger.error(EELFLoggerDelegate.errorLogger, "updateRestrictedApp failed", e);
+ EPLogUtil.logEcompError(logger, EPAppMessagesEnum.BeUebRegisterOnboardingAppError, e);
+ EPLogUtil.logEcompError(logger, EPAppMessagesEnum.BeDaoSystemError, e);
+ EcompPortalUtils.rollbackTransaction(transaction,
+ "updateRestrictedApp rollback, exception = " + e.toString());
+ } finally {
+ EcompPortalUtils.closeLocalSession(localSession, "updateRestrictedApp");
+ }
+ if (!result) {
+ fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
+ }
+ }
+
+ }
+
+ @Deprecated
+ protected void updateRestrictedAppUeb(Long appId, OnboardingApp onboardingApp, FieldsValidator fieldsValidator,
+ EPUser user) {
synchronized (syncRests) {
boolean result = false;
Session localSession = null;
// name and keys to the FN_APP table. The App's mailbox
// and
// keys will be visible to the
- // admin on the ECOMP portal.
+ // admin on the ONAP portal.
// -------------------------------------------------------------------------------------------
TopicManager topicManager = new TopicManager() {
final CambriaIdentityManager im = new CambriaClientBuilders.IdentityManagerBuilder()
.usingHosts(Helper.uebUrlList()).build();
com.att.nsa.apiClient.credentials.ApiCredential credential = im.createApiKey(user.getEmail(),
- "ECOMP Portal Owner");
+ "ONAP Portal Owner");
String appKey = credential.getApiKey();
String appSecret = credential.getApiSecret();
String appMailboxName = null;
"LR: updateApp: finished calling setFunctionalMenuItemsEnabled");
transaction.commit();
logger.debug(EELFLoggerDelegate.debugLogger, "LR: updateApp: finished calling transaction.commit");
- epUebHelper.addPublisher(app);
logger.debug(EELFLoggerDelegate.debugLogger,
"LR: updateApp: finished calling epUebHelper.addPublisher");
result = true;
onboardingApp.isOpen = app.getOpen();
onboardingApp.isEnabled = app.getEnabled();
onboardingApp.username = app.getUsername();
- onboardingApp.appPassword = decryptedPassword(app.getAppPassword(), app);
+ onboardingApp.appPassword = (app.getAppPassword().equals(EPCommonSystemProperties.APP_DISPLAY_PASSWORD)) ? EPCommonSystemProperties.APP_DISPLAY_PASSWORD :decryptedPassword(app.getAppPassword(), app);
onboardingApp.uebTopicName = app.getUebTopicName();
onboardingApp.uebKey = app.getUebKey();
onboardingApp.uebSecret = app.getUebSecret();
app.setOpen(onboardingApp.isOpen);
app.setEnabled(onboardingApp.isEnabled);
app.setUsername(onboardingApp.username);
+ if(!onboardingApp.appPassword.equals(EPCommonSystemProperties.APP_DISPLAY_PASSWORD))
app.setAppPassword(this.encryptedPassword(onboardingApp.appPassword, app));
- app.setUebTopicName(onboardingApp.uebTopicName);
+ //app.setUebTopicName(onboardingApp.uebTopicName);
app.setUebKey(onboardingApp.uebKey);
app.setUebSecret(onboardingApp.uebSecret);
app.setCentralAuth(onboardingApp.isCentralAuth);
epWidgetsManualSort.setWidgetCol(epWidgetsManPref.getCol());
epWidgetsManualSort.setWidgetWidth(epWidgetsManPref.getSizeX());
epWidgetsManualSort.setWidgetHeight(epWidgetsManPref.getSizeY());
- HashMap<String, Integer> additionalUpdateParam = new HashMap<String, Integer>();
+ HashMap<String, Long> additionalUpdateParam = new HashMap<>();
additionalUpdateParam.put("userId", epWidgetsManualSort.getUserId());
dataAccessService.saveDomainObject(epWidgetsManualSort, additionalUpdateParam);
} else {
epWidgetsManualSort.setWidgetCol(epWidgetsManPref.getCol());
epWidgetsManualSort.setWidgetWidth(epWidgetsManPref.getSizeX());
epWidgetsManualSort.setWidgetHeight(epWidgetsManPref.getSizeY());
- epWidgetsManualSort.setUserId(Ints.checkedCast(user.getId()));
+ epWidgetsManualSort.setUserId(user.getId());
dataAccessService.saveDomainObject(epWidgetsManualSort, null);
}
fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_OK);
EPUserAppsManualSortPreference epAppsManualSort = existingAppIds.get(appid);
epAppsManualSort
.setAppManualSortOrder((epAppsManPref.getCol() + (6 * epAppsManPref.getRow())) + 1);
- HashMap<String, Integer> additionalUpdateParam = new HashMap<String, Integer>();
+ HashMap<String, Long> additionalUpdateParam = new HashMap<>();
additionalUpdateParam.put("userId", epAppsManualSort.getUserId());
dataAccessService.saveDomainObject(epAppsManualSort, additionalUpdateParam);
} else {
epAppsManualSort.setAppId(epAppsManPref.getAppid());
epAppsManualSort
.setAppManualSortOrder((epAppsManPref.getCol() + (6 * epAppsManPref.getRow())) + 1);
- epAppsManualSort.setUserId(Ints.checkedCast(user.getId()));
+ epAppsManualSort.setUserId(user.getId());
dataAccessService.saveDomainObject(epAppsManualSort, null);
}
fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_OK);
/*
* (non-Javadoc)
*
- * @see org.openecomp.portalapp.portal.service.EPAppService#
+ * @see org.onap.portalapp.portal.service.EPAppService#
* deleteUserAppSortManual(java.lang.String,
- * org.openecomp.portalapp.portal.domain.EPUser)
+ * org.onap.portalapp.portal.domain.EPUser)
*/
@SuppressWarnings("unchecked")
@Override
epSortTypes = dataAccessService.executeNamedQuery("userAppsSortPreferenceQuery", params, null);
if (epSortTypes.size() == 0) {
usrSortPr = new EPUserAppsSortPreference();
- usrSortPr.setUserId(Ints.checkedCast(user.getId()));
+ usrSortPr.setUserId((int)(long)(user.getId()));
usrSortPr.setSortPref(appsSortPreference.getValue());
dataAccessService.saveDomainObject(usrSortPr, null);
fieldsValidator.httpStatusCode = new Long(HttpServletResponse.SC_OK);
return userAndRoles;
}
-}
+}
\ No newline at end of file