274 boolean result =
false;
275 if (StringHelper.isNotEmpty(
inum)) {
277 if (!federation.isFederation() || !federation.getStatus().equals(GluuStatus.ACTIVE)) {
278 return OxTrustConstants.RESULT_FAILURE;
281 ByteArrayOutputStream bos =
new ByteArrayOutputStream(16384);
283 .format(
"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<EntitiesDescriptor Name=\"%s\" xmlns=\"urn:oasis:names:tc:SAML:2.0:metadata\">\n",
284 StringHelper.removePunctuation(federation.getInum()));
285 bos.write(head.getBytes());
287 if (proposal.getContainerFederation() != null && proposal.getContainerFederation().equals(federation)) {
288 String filename = proposal.getSpMetaDataFN();
289 if (!StringUtils.isEmpty(filename)) {
291 InputStream is = FileUtils.openInputStream(metadataFile);
292 ExcludeFilterInputStream filtered =
new ExcludeFilterInputStream(is,
"<?",
"?>");
293 IOUtils.copy(filtered, bos);
297 String tail =
"</EntitiesDescriptor>";
298 bos.write(tail.getBytes());
300 FacesContext facesContext = FacesContext.getCurrentInstance();
301 result = ResponseHelper.downloadFile(
"federation.xml", OxTrustConstants.CONTENT_TYPE_TEXT_PLAIN, bos.toByteArray(), facesContext);
303 return result ? OxTrustConstants.RESULT_SUCCESS : OxTrustConstants.RESULT_FAILURE;
String getMetadataFilePath(String metadataFileName)
Definition: Shibboleth3ConfService.java:1241
List< GluuSAMLFederationProposal > getAllActiveFederationProposals()
Definition: FederationService.java:193
GluuSAMLFederationProposal getProposalByInum(String inum)
Definition: FederationService.java:149
String inum
Definition: JoinFederationAction.java:47
Shibboleth3ConfService shibboleth3ConfService
Definition: JoinFederationAction.java:56
FederationService federationService
Definition: JoinFederationAction.java:53