@Override public void make(final boolean mayWrite) { if (mLoggedInOwnIdentity.isRestoreInProgress()) { makeRestoreInProgressWarning(); return; } final boolean addIdentity = mRequest.isPartSet("AddIdentity"); if (mayWrite && addIdentity) { try { mWebOfTrust.addIdentity(mRequest.getPartAsStringFailsafe("IdentityURI", 1024)); HTMLNode successBox = addContentBox(l10n().getString("KnownIdentitiesPage.AddIdentity.Success.Header")); successBox.addChild("#", l10n().getString("KnownIdentitiesPage.AddIdentity.Success.Text")); } catch (Exception e) { addErrorBox(l10n().getString("KnownIdentitiesPage.AddIdentity.Failed"), e); } } if (mayWrite && mRequest.isPartSet("SetTrust")) { for (String part : mRequest.getParts()) { if (!part.startsWith("SetTrustOf")) continue; final String trusteeID; final String value; final String comment; try { if (addIdentity) { // Add a single identity and set its trust value trusteeID = IdentityID.constructAndValidateFromURI( new FreenetURI(mRequest.getPartAsStringFailsafe("IdentityURI", 1024))) .toString(); value = mRequest.getPartAsStringFailsafe("Value", 4).trim(); comment = mRequest.getPartAsStringFailsafe("Comment", Trust.MAX_TRUST_COMMENT_LENGTH + 1); } else { // Change multiple trust values via the known-identities-list trusteeID = mRequest.getPartAsStringFailsafe(part, 128); value = mRequest.getPartAsStringFailsafe("Value" + trusteeID, 4).trim(); comment = mRequest.getPartAsStringFailsafe( "Comment" + trusteeID, Trust.MAX_TRUST_COMMENT_LENGTH + 1); } if (value.equals("")) mWebOfTrust.removeTrust(mLoggedInOwnIdentity.getID(), trusteeID); else { mWebOfTrust.setTrust( mLoggedInOwnIdentity.getID(), trusteeID, Byte.parseByte(value), comment); } if (addIdentity && (value.equals("") || Byte.parseByte(value) < 0)) { addErrorBox( l10n().getString("KnownIdentitiesPage.AddIdentity.NoTrustWarning.Header"), l10n().getString("KnownIdentitiesPage.AddIdentity.NoTrustWarning.Text")); } } catch (NumberFormatException e) { addErrorBox( l10n().getString("KnownIdentitiesPage.SetTrust.Failed"), l10n().getString("Trust.InvalidValue")); } catch (InvalidParameterException e) { addErrorBox(l10n().getString("KnownIdentitiesPage.SetTrust.Failed"), e.getMessage()); } catch (Exception e) { addErrorBox(l10n().getString("KnownIdentitiesPage.SetTrust.Failed"), e); } } } makeKnownIdentitiesList(); makeAddIdentityForm(); // Put this after makeKnownIdentitiesList() so clicking through pages of // the known identities list doesn't involve scrolling. }