@Override public void renderLogin(String userRecordKey, Wavelet wavelet) { // Clear login form. wavelet.getRootBlip().all().delete(); // TODO (elizabethford): Eventually have buildUrl from within gadget with gadget fetching // request key from datastore. // Add the gadget. String gadgetString = ""; try { String gadgetUrl = "http://" + remoteHost + GADGET_PATH; gadgetString = gadgetUrl + "?" + URLEncoder.encode("key", CHARACTER_ENCODING) + "=" + URLEncoder.encode(userRecordKey, CHARACTER_ENCODING); } catch (UnsupportedEncodingException e) { LOG.warning(e.toString()); } Gadget gadget = new Gadget(gadgetString); LOG.info(gadgetString); wavelet.getRootBlip().append(gadget); } }
/** * Sets the wavelet title. * * @param title the new title to be set. */ public void setTitle(String title) { if (title.contains("\n")) { throw new IllegalArgumentException("Wavelet title should not contain a newline character. " + "Specified: " + title); } operationQueue.setTitleOfWavelet(this, title); this.title = title; // Adjust the content of the root blip, if it is available in the context. Blip rootBlip = getRootBlip(); if (rootBlip != null) { String content = "\n"; int indexOfSecondNewline = rootBlip.getContent().indexOf('\n', 1); if (indexOfSecondNewline != -1) { content = rootBlip.getContent().substring(indexOfSecondNewline); } rootBlip.setContent("\n" + title + content); } }
@Override public void renderLogin(String userRecordKey, Wavelet wavelet) { // Clear login form. wavelet.getRootBlip().all().delete(); PersistenceManager pm = SingletonPersistenceManagerFactory.get().getPersistenceManager(); OAuthUser userProfile = null; try { userProfile = pm.getObjectById(OAuthUser.class, userRecordKey); } catch (JDOObjectNotFoundException objectNotFound) { LOG.severe("Error fetching object from datastore with key: " + userRecordKey); } finally { pm.close(); } String url = userProfile.getAuthUrl(); // Add authentication prompt and insert link to service provider log-in page // to wavelet. wavelet.getRootBlip().all().delete(); StringBuilder b = new StringBuilder(); b.append("\n"); int startIndex = b.length(); b.append(LOGIN_LINK_TEXT + "\n\n"); wavelet.getRootBlip().append(b.toString()); // Add button to click when authentication is complete. wavelet.getRootBlip().append(new FormElement(ElementType.BUTTON, LOGIN_BUTTON_ID, LOGIN_BUTTON_CAPTION)); // Linkify the authorization link. wavelet.getRootBlip().range(startIndex, startIndex + LOGIN_LINK_TEXT.length()).annotate( LINK_ANNOTATION_KEY, url); }
Wavelet templateWelcomeWavelet = fetchWavelet(welcomeWaveId, WaveletId.of(getWaveDomain(), "conv+root"), rpcUrl); RobotsUtil.copyBlipContents(templateWelcomeWavelet.getRootBlip(), newWelcomeWavelet.getRootBlip()); } else { appendLine(newWelcomeWavelet.getRootBlip(), "Welcome to " + getWaveDomain() + "!");
assertEquals(expectedWavelet.getRootBlip().getBlipId(), actualWavelet.getRootBlip().getBlipId());
assertEquals(expectedWavelet.getRootBlip().getBlipId(), actualWavelet.getRootBlip().getBlipId());