List of usage examples for org.joda.time DateTime toCalendar
public Calendar toCalendar(Locale locale)
java.util.Calendar
, assigning exactly the same millisecond instant. From source file:net.tirasa.saml.store.SAMLSessionManager.java
License:Apache License
public Date getSAMLSessionValidTo(final List<Assertion> assertions) { org.joda.time.DateTime sessionNotOnOrAfter = null; if (assertions != null) { for (Assertion assertion : assertions) { for (AuthnStatement statement : assertion.getAuthnStatements()) { sessionNotOnOrAfter = statement.getSessionNotOnOrAfter(); }/* w ww. j a v a2s . com*/ } } return sessionNotOnOrAfter == null ? null : sessionNotOnOrAfter.toCalendar(Locale.getDefault()).getTime(); }
From source file:org.apache.abdera2.model.DateTimeWrapper.java
License:Apache License
public Calendar getCalendar() { org.joda.time.DateTime ad = getValue(); return ad != null ? ad.toCalendar(Locale.getDefault()) : null; }
From source file:org.brekka.stillingar.core.conversion.TemporalAdapter.java
License:Apache License
public Calendar toCalendar(Object obj, boolean supportsDate, boolean supportsTime, Class<?> expectedType) { Calendar value;/*from www . j a v a 2 s . c o m*/ if (obj instanceof Calendar) { value = (Calendar) obj; } else if (obj instanceof Date) { value = Calendar.getInstance(); value.setTime((Date) obj); } else if (obj instanceof String) { String dateTimeStr = (String) obj; if (!jodaTimeAvailable) { throw new IllegalArgumentException(format( "Date/time conversion unavailable for value '%s' to '%s'." + " Add JodaTime library to enable default ISO conversion.", dateTimeStr, expectedType.getName())); } if (dateTimeStr.length() < 14 && dateTimeStr.endsWith("Z")) { dateTimeStr = dateTimeStr.substring(0, dateTimeStr.length() - 1); } org.joda.time.format.DateTimeFormatter dateTimeParser; if (dateTimeStr.charAt(2) == ':') { dateTimeParser = org.joda.time.format.ISODateTimeFormat.timeParser(); } else { dateTimeParser = org.joda.time.format.ISODateTimeFormat.dateTimeParser(); } org.joda.time.DateTime dateTime = dateTimeParser.parseDateTime(dateTimeStr); value = dateTime.toCalendar(null); if (!supportsDate) { value.clear(Calendar.YEAR); value.clear(Calendar.MONTH); value.clear(Calendar.DAY_OF_MONTH); } if (!supportsTime) { value.clear(Calendar.HOUR_OF_DAY); value.clear(Calendar.MINUTE); value.clear(Calendar.SECOND); value.clear(Calendar.MILLISECOND); } } else { throw new IllegalArgumentException( format("No temporal conversion available for value of type '%s' to '%s'.", obj.getClass().getName(), expectedType.getName())); } return value; }
From source file:org.ddialliance.ddiftp.util.Translator.java
License:Open Source License
/** * Format an ISO8601 time string defined by into a Calendar<BR> * Defined by '-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? * (zzzzzz)?//from ww w .j ava 2 s . co m * * @see http://www.w3.org/TR/xmlschema-2/#dateTime * @param time * string * @return calendar * @throws DDIFtpException */ public static Calendar formatIso8601DateTime(String time) throws DDIFtpException { // yyyy-MM-dd'T'HH:mm:ss.SSSZZ full format DateTimeFormatter fmt = ISODateTimeFormat.dateTime(); try { DateTime dateTime = fmt.parseDateTime(time); return dateTime.toCalendar(getLocale()); } catch (IllegalArgumentException e) { try { // yyyy-MM-dd'T'HH:mm:ssZZ with out millisecond fmt = ISODateTimeFormat.dateTimeNoMillis(); fmt.withLocale(getLocale()); fmt.withZone(DateTimeZone.forTimeZone(getTimeZone())); DateTime dateTime = fmt.parseDateTime(time); return dateTime.toCalendar(getLocale()); } catch (IllegalArgumentException e1) { try { // yyyy-MM-dd'T'HH:mm:ss.SS with out time zone fmt = ISODateTimeFormat.dateHourMinuteSecondFraction(); fmt.withLocale(getLocale()); fmt.withZone(DateTimeZone.forTimeZone(getTimeZone())); DateTime dateTime = fmt.parseDateTime(time); return dateTime.toCalendar(getLocale()); } catch (Exception e2) { try { // yyyy-MM-dd'T'HH:mm:ss with out millisecond and time // zone fmt = ISODateTimeFormat.dateHourMinuteSecond(); fmt.withLocale(getLocale()); fmt.withZone(DateTimeZone.forTimeZone(getTimeZone())); DateTime dateTime = fmt.parseDateTime(time); return dateTime.toCalendar(getLocale()); } catch (IllegalArgumentException e3) { try { fmt = ISODateTimeFormat.dateParser(); fmt.withLocale(getLocale()); fmt.withZone(DateTimeZone.forTimeZone(getTimeZone())); DateTime dateTime = fmt.parseDateTime(time); return dateTime.toCalendar(getLocale()); } catch (Exception e4) { throw new DDIFtpException("translate.timeformat.error", new Object[] { time, "'-'? yyyy '-' mm '-' dd 'T' hh ':' mm ':' ss ('.' s+)? (zzzzzz)?" }, e); } } } } } }
From source file:org.egov.ptis.web.controller.dashboard.CMDashboardController.java
License:Open Source License
/** * Provides collection analysis data across all ULBs for MIS Reports * @return response JSON// ww w . j a v a 2 s. c om * @throws IOException */ @RequestMapping(value = "/collectionanalysis", method = RequestMethod.GET, produces = MediaType.APPLICATION_JSON_VALUE) @ResponseBody public CollectionAnalysis getCollectionAnalysisForMIS(CollectionDetailsRequest collectionDetailsRequest) { if (StringUtils.isNotBlank(collectionDetailsRequest.getIntervalType())) { String startDate = StringUtils.EMPTY; String endDate = StringUtils.EMPTY; if (WEEK.equalsIgnoreCase(collectionDetailsRequest.getIntervalType())) { // Prepare the start date based on the month number and year String monthStartDateStr = collectionDetailsRequest.getYear().concat("-") .concat(collectionDetailsRequest.getMonth()).concat("-").concat("01"); LocalDate monthStDate = new LocalDate(monthStartDateStr); // Fetch the start date of the 1st week of the month and the last day of the month LocalDate weekStart = monthStDate.dayOfWeek().withMinimumValue(); LocalDate endOfMonth = monthStDate.dayOfMonth().withMaximumValue(); startDate = weekStart.toString(PropertyTaxConstants.DATE_FORMAT_YYYYMMDD); endDate = endOfMonth.toString(PropertyTaxConstants.DATE_FORMAT_YYYYMMDD); } else if (DAY.equalsIgnoreCase(collectionDetailsRequest.getIntervalType())) { // Prepare the first and last days of the week based on the month, year and week of month values DateTime date = new DateTime().withYear(Integer.parseInt(collectionDetailsRequest.getYear())) .withMonthOfYear(Integer.parseInt(collectionDetailsRequest.getMonth())); Calendar cal = date.toCalendar(Locale.getDefault()); cal.set(Calendar.DAY_OF_WEEK, 2); cal.set(Calendar.WEEK_OF_MONTH, Integer.parseInt(collectionDetailsRequest.getWeek())); DateTime weekStartDate = new DateTime(cal).withMillisOfDay(0); startDate = weekStartDate.toString(PropertyTaxConstants.DATE_FORMAT_YYYYMMDD); Date weekEndDate = DateUtils.addDays(weekStartDate.toDate(), 6); endDate = PropertyTaxConstants.DATEFORMATTER_YYYY_MM_DD.format(weekEndDate); } if (WEEK.equalsIgnoreCase(collectionDetailsRequest.getIntervalType()) || DAY.equalsIgnoreCase(collectionDetailsRequest.getIntervalType())) { collectionDetailsRequest.setFromDate(startDate); collectionDetailsRequest.setToDate(endDate); } } return propTaxDashboardService.getCollectionAnalysisData(collectionDetailsRequest, collectionDetailsRequest.getIntervalType()); }
From source file:org.jahia.bin.Action.java
License:Open Source License
protected void setProperties(JCRNodeWrapper newNode, Map<String, List<String>> parameters) throws RepositoryException { Set<Map.Entry<String, List<String>>> set = parameters.entrySet(); for (Map.Entry<String, List<String>> entry : set) { String key = entry.getKey(); if (!Render.RESERVED_PARAMETERS.contains(key)) { List<String> values = entry.getValue(); ExtendedPropertyDefinition propertyDefinition = null; propertyDefinition = newNode.getApplicablePropertyDefinition(key); if (propertyDefinition == null) { continue; }//from w ww . j a v a 2s . c om if (propertyDefinition.isMultiple()) { newNode.setProperty(key, values.toArray(new String[values.size()])); } else if (values.get(0).length() > 0) { if (propertyDefinition.getRequiredType() == ExtendedPropertyType.DATE) { DateTime dateTime = ISODateTimeFormat.dateOptionalTimeParser().parseDateTime(values.get(0)); newNode.setProperty(key, dateTime.toCalendar(Locale.ENGLISH)); } else { newNode.setProperty(key, values.get(0)); } } } } }
From source file:org.jahia.bin.DefaultPutAction.java
License:Open Source License
@Override public ActionResult doExecute(HttpServletRequest req, RenderContext renderContext, Resource resource, JCRSessionWrapper session, Map<String, List<String>> parameters, URLResolver urlResolver) throws Exception { JCRNodeWrapper node = session.getNode(urlResolver.getPath()); // Get node information before any modification as a rule can delete it String primaryNodeTypeName = node.getPrimaryNodeTypeName(); session.checkout(node);/*from w w w . j a v a 2s.c o m*/ if (parameters.containsKey(Render.REMOVE_MIXIN)) { for (String mixinType : parameters.get(Render.REMOVE_MIXIN)) { node.removeMixin(mixinType); } } if (parameters.containsKey(Constants.JCR_MIXINTYPES)) { for (String mixinType : parameters.get(Constants.JCR_MIXINTYPES)) { node.addMixin(mixinType); } } Set<Map.Entry<String, List<String>>> set = parameters.entrySet(); try { for (Map.Entry<String, List<String>> entry : set) { String key = entry.getKey(); if (!Render.getReservedParameters().contains(key)) { List<String> values = entry.getValue(); final ExtendedPropertyDefinition propertyDefinition = ((JCRNodeWrapper) node) .getApplicablePropertyDefinition(key); if (propertyDefinition == null) { continue; } if (propertyDefinition.isMultiple()) { if (values.size() == 1 && values.get(0).equals("jcrClearAllValues")) { node.setProperty(key, new Value[0]); } else { node.setProperty(key, values.toArray(new String[values.size()])); } } else if (propertyDefinition.getRequiredType() == PropertyType.DATE) { // Expecting ISO date yyyy-MM-dd'T'HH:mm:ss DateTime dateTime = ISODateTimeFormat.dateOptionalTimeParser().parseDateTime(values.get(0)); node.setProperty(key, dateTime.toCalendar(Locale.ENGLISH)); } else { node.setProperty(key, values.get(0)); } } } session.save(); } catch (CompositeConstraintViolationException e) { List<JSONObject> jsonErrors = new ArrayList<JSONObject>(); for (ConstraintViolationException exception : e.getErrors()) { jsonErrors.add(getJSONConstraintError(exception)); } JSONObject jsonObject = new JSONObject(); jsonObject.put("validationError", jsonErrors); return new ActionResult(HttpServletResponse.SC_BAD_REQUEST, null, jsonObject); } catch (ConstraintViolationException e) { JSONObject jsonObject = new JSONObject(); jsonObject.put("validationError", Arrays.asList(getJSONConstraintError(e))); return new ActionResult(HttpServletResponse.SC_BAD_REQUEST, null, jsonObject); } catch (Exception e) { JSONObject jsonObject = new JSONObject(); jsonObject.put("error", e.getMessage()); return new ActionResult(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, null, jsonObject); } if (req.getParameter(Render.AUTO_CHECKIN) != null && req.getParameter(Render.AUTO_CHECKIN).length() > 0) { session.getWorkspace().getVersionManager().checkpoint(node.getPath()); } String sessionID = ""; HttpSession httpSession = req.getSession(false); if (httpSession != null) { sessionID = httpSession.getId(); } if (loggingService.isEnabled()) { loggingService.logContentEvent(renderContext.getUser().getName(), req.getRemoteAddr(), sessionID, node.getIdentifier(), urlResolver.getPath(), primaryNodeTypeName, "nodeUpdated", new JSONObject(req.getParameterMap()).toString()); } final String requestWith = req.getHeader("x-requested-with"); if (req.getHeader("accept") != null && req.getHeader("accept").contains("application/json") && requestWith != null && requestWith.equals("XMLHttpRequest")) { JSONObject jsonObject = null; try { jsonObject = Render.serializeNodeToJSON(node); } catch (RepositoryException e) { } return new ActionResult(HttpServletResponse.SC_OK, node.getPath(), jsonObject); } else { return ActionResult.OK; } }
From source file:org.jahia.bin.Render.java
License:Open Source License
protected void doPut(HttpServletRequest req, HttpServletResponse resp, RenderContext renderContext, URLResolver urlResolver) throws RepositoryException, IOException { JCRSessionWrapper session = jcrSessionFactory.getCurrentUserSession(urlResolver.getWorkspace(), urlResolver.getLocale());/* w w w . j a va2 s . com*/ JCRNodeWrapper node = session.getNode(urlResolver.getPath()); session.checkout(node); @SuppressWarnings("unchecked") Map<String, String[]> parameters = req.getParameterMap(); if (parameters.containsKey(REMOVE_MIXIN)) { String[] mixinTypes = (String[]) parameters.get(REMOVE_MIXIN); for (String mixinType : mixinTypes) { node.removeMixin(mixinType); } } if (parameters.containsKey(Constants.JCR_MIXINTYPES)) { String[] mixinTypes = (String[]) parameters.get(Constants.JCR_MIXINTYPES); for (String mixinType : mixinTypes) { node.addMixin(mixinType); } } Set<Map.Entry<String, String[]>> set = parameters.entrySet(); try { for (Map.Entry<String, String[]> entry : set) { String key = entry.getKey(); if (!reservedParameters.contains(key)) { String[] values = entry.getValue(); final ExtendedPropertyDefinition propertyDefinition = ((JCRNodeWrapper) node) .getApplicablePropertyDefinition(key); if (propertyDefinition == null) { continue; } if (propertyDefinition.isMultiple()) { node.setProperty(key, values); } else if (propertyDefinition.getRequiredType() == PropertyType.DATE) { // Expecting ISO date yyyy-MM-dd'T'HH:mm:ss DateTime dateTime = ISODateTimeFormat.dateOptionalTimeParser().parseDateTime(values[0]); node.setProperty(key, dateTime.toCalendar(Locale.ENGLISH)); } else { node.setProperty(key, values[0]); } } } } catch (ConstraintViolationException e) { resp.sendError(HttpServletResponse.SC_BAD_REQUEST, "bad parameter"); return; } session.save(); if (req.getParameter(AUTO_CHECKIN) != null && req.getParameter(AUTO_CHECKIN).length() > 0) { session.getWorkspace().getVersionManager().checkpoint(node.getPath()); } final String requestWith = req.getHeader("x-requested-with"); if (req.getHeader("accept").contains("application/json") && requestWith != null && requestWith.equals("XMLHttpRequest")) { try { serializeNodeToJSON(node).write(resp.getWriter()); } catch (JSONException e) { logger.error(e.getMessage(), e); } } else { performRedirect(null, null, req, resp, toParameterMapOfListOfString(req), false); } addCookie(req, resp); String sessionID = ""; HttpSession httpSession = req.getSession(false); if (httpSession != null) { sessionID = httpSession.getId(); } if (loggingService.isEnabled()) { loggingService.logContentEvent(renderContext.getUser().getName(), req.getRemoteAddr(), sessionID, node.getIdentifier(), urlResolver.getPath(), node.getPrimaryNodeType().getName(), "nodeUpdated", new JSONObject(req.getParameterMap()).toString()); } }
From source file:org.jahia.modules.gateway.JSONToJCRDeserializer.java
License:Open Source License
private void setPropertiesOnNode(JCRNodeWrapper newNode, JSONObject properties, ExtendedNodeType nodeType) throws RepositoryException { Iterator keys = properties.keys(); while (keys.hasNext()) { String property = (String) keys.next(); try {//from w w w . j av a 2 s . c o m String value = (String) properties.get(property); boolean needUpdate; logger.debug("added property " + property + " with value " + value); String name = property.replaceAll("_", ":"); try { needUpdate = !(newNode.getProperty(name).getValue().getString().equals(value)); } catch (RepositoryException e1) { needUpdate = true; } if (needUpdate) { ExtendedPropertyDefinition propertyDefinition = nodeType.getPropertyDefinition(name); if (propertyDefinition == null) { ExtendedNodeType[] declaredSupertypes = nodeType.getDeclaredSupertypes(); for (ExtendedNodeType declaredSupertype : declaredSupertypes) { propertyDefinition = declaredSupertype.getPropertyDefinition(name); if (propertyDefinition != null) { break; } } } int requiredType = 0; if (propertyDefinition != null) { requiredType = propertyDefinition.getRequiredType(); } switch (requiredType) { case ExtendedPropertyType.DATE: DateTime dateTime = ISODateTimeFormat.dateOptionalTimeParser().parseDateTime(value); newNode.setProperty(name, dateTime.toCalendar(Locale.ENGLISH)); break; case ExtendedPropertyType.REFERENCE: case ExtendedPropertyType.WEAKREFERENCE: File file = new File(value); JCRNodeWrapper files = newNode.getSession() .getNode(newNode.getResolveSite().getPath() + "/files"); FileInputStream is = null; try { is = FileUtils.openInputStream(file); JCRNodeWrapper reference = files.uploadFile(file.getName(), is, JCRContentUtils.getMimeType(file.getName())); newNode.setProperty(name, reference); } finally { IOUtils.closeQuietly(is); FileUtils.deleteQuietly(file); } break; default: newNode.setProperty(name, value); break; } } } catch (JSONException e) { logger.error(e.getMessage(), e); } catch (IOException e) { logger.error(e.getMessage(), e); } } }
From source file:org.jahia.modules.portal.service.PortalService.java
License:Open Source License
public PortalContext buildPortalContext(RenderContext renderContext, JCRNodeWrapper portalTabNode, JCRSessionWrapper sessionWrapper, final boolean updateLastPortalUsed) throws RepositoryException { final String currentPath = portalTabNode.getPath(); final boolean isEditable = portalTabNode.hasPermission("jcr:write_live"); final Locale mainResourceLocale = renderContext.getMainResourceLocale(); final String siteKey = renderContext.getSite().getSiteKey(); PortalContext portalContext = JCRTemplate.getInstance().doExecuteWithSystemSession( sessionWrapper.getUser().getUsername(), sessionWrapper.getWorkspace().getName(), sessionWrapper.getLocale(), new JCRCallback<PortalContext>() { @Override/*from w ww . j av a2 s . co m*/ public PortalContext doInJCR(JCRSessionWrapper session) throws RepositoryException { JCRNodeWrapper portalTabNode = session.getNode(currentPath); JCRNodeWrapper portalNode = JCRContentUtils.getParentOfType(portalTabNode, PortalConstants.JMIX_PORTAL); PortalContext portalContext = new PortalContext(); boolean isModel = portalNode.isNodeType(PortalConstants.JNT_PORTAL_MODEL); portalContext.setEditable(isEditable); portalContext.setPath(portalNode.getPath()); portalContext.setIdentifier(portalNode.getIdentifier()); portalContext.setTabPath(portalTabNode.getPath()); portalContext.setTabIdentifier(portalTabNode.getIdentifier()); portalContext.setFullTemplate( portalNode.getProperty(PortalConstants.J_FULL_TEMPLATE).getString()); portalContext.setLock(portalNode.hasProperty(PortalConstants.J_LOCKED) && portalNode.getProperty(PortalConstants.J_LOCKED).getBoolean()); portalContext.setModel(isModel); portalContext.setCustomizable(isModel && portalNode.hasProperty(PortalConstants.J_ALLOW_CUSTOMIZATION) && portalNode.getProperty(PortalConstants.J_ALLOW_CUSTOMIZATION).getBoolean()); JCRSiteNode site = JahiaSitesService.getInstance().getSiteByKey(siteKey, session); JCRNodeWrapper modelNode = null; boolean modelDeleted = false; if (isModel) { portalContext.setEnabled(portalNode.hasProperty(PortalConstants.J_ENABLED) && portalNode.getProperty(PortalConstants.J_ENABLED).getBoolean()); } else { try { modelNode = (JCRNodeWrapper) portalNode.getProperty(PortalConstants.J_MODEL) .getNode(); } catch (Exception e) { // model deleted } if (modelNode != null) { portalContext.setModelPath(modelNode.getPath()); portalContext.setModelIdentifier(modelNode.getIdentifier()); portalContext.setEnabled(modelNode.hasProperty(PortalConstants.J_ENABLED) && modelNode.getProperty(PortalConstants.J_ENABLED).getBoolean()); } else { portalContext.setEnabled(false); modelDeleted = true; } } portalContext.setSiteKey(site.getSiteKey()); portalContext.setPortalTabTemplates(new ArrayList<PortalKeyNameObject>()); portalContext.setPortalTabSkins(new ArrayList<PortalKeyNameObject>()); portalContext.setPortalWidgetTypes(new TreeSet<PortalWidgetType>(WIDGET_TYPES_COMPARATOR)); if (isEditable) { // Templates for portal tabs List<JCRNodeWrapper> templates = getPortalTabTemplates( portalNode.getProperty(PortalConstants.J_TEMPLATE_ROOT_PATH).getString(), session); for (JCRNodeWrapper template : templates) { PortalKeyNameObject portalTabTemplate = new PortalKeyNameObject(); portalTabTemplate.setName(template.getDisplayableName()); portalTabTemplate.setKey(template.getName()); portalContext.getPortalTabTemplates().add(portalTabTemplate); } // Widget skins SortedSet<View> widgetSkins = getViewSet(PortalConstants.JMIX_PORTAL_WIDGET, site); for (View widgetView : widgetSkins) { if (widgetView.getKey().startsWith("box")) { PortalKeyNameObject portalTabSkin = new PortalKeyNameObject(); try { portalTabSkin.setName(Messages.get(widgetView.getModule(), widgetView.getKey(), mainResourceLocale)); } catch (MissingResourceException e) { // no resourceBundle for skin portalTabSkin.setName(widgetView.getKey()); } portalTabSkin.setKey(widgetView.getKey()); portalContext.getPortalTabSkins().add(portalTabSkin); } } // Widget types Collection<ExtendedNodeType> widgetTypes = getPortalWidgetNodeTypes(portalNode); Collection<ExtendedNodeType> modelWidgetTypes = !isModel && !modelDeleted ? getPortalWidgetNodeTypes(modelNode) : null; for (ExtendedNodeType widgetType : widgetTypes) { if (!isModel && !modelDeleted) { if (modelWidgetTypes.contains(widgetType)) { PortalWidgetType portalWidgetType = buildPortalWidgetType(widgetType, site, mainResourceLocale, false); portalContext.getPortalWidgetTypes().add(portalWidgetType); modelWidgetTypes.remove(widgetType); } } else { PortalWidgetType portalWidgetType = buildPortalWidgetType(widgetType, site, mainResourceLocale, false); portalContext.getPortalWidgetTypes().add(portalWidgetType); } } if (!isModel && !modelDeleted) { for (ExtendedNodeType modelWidgetType : modelWidgetTypes) { PortalWidgetType portalWidgetType = buildPortalWidgetType(modelWidgetType, site, mainResourceLocale, true); portalContext.getPortalWidgetTypes().add(portalWidgetType); } } } if (updateLastPortalUsed) { DateTime currentDateTime = new DateTime(); String lastViewed = portalNode.getPropertyAsString(PortalConstants.J_LASTVIEWED); boolean firstView = StringUtils.isEmpty(lastViewed); if (firstView || currentDateTime.getDayOfYear() != ISODateTimeFormat .dateOptionalTimeParser().parseDateTime(lastViewed).getDayOfYear()) { portalNode.setProperty(PortalConstants.J_LASTVIEWED, currentDateTime.toCalendar(mainResourceLocale)); portalNode.saveSession(); } } return portalContext; } }); portalContext.setBaseUrl(StringUtils.isNotEmpty(renderContext.getURLGenerator().getContext()) ? renderContext.getURLGenerator().getContext() + renderContext.getURLGenerator().getBaseLive() : renderContext.getURLGenerator().getBaseLive()); return portalContext; }