final ContactInfo contact = csw.getGeoServer().getGlobal().getSettings().getContact();
sp.setProviderName((contact.getContactOrganization() != null ? contact.getContactOrganization() : ""));
OnlineResourceType providerSite = owsf.createOnlineResourceType();
sp.setProviderSite(providerSite);
providerSite.setHref((csw.getOnlineResource() != null ? csw.getOnlineResource() : ""));
ResponsiblePartySubsetType serviceContact = owsf.createResponsiblePartySubsetType();
sp.setServiceContact(serviceContact);
serviceContact.setIndividualName(contact.getContactPerson());
serviceContact.setPositionName(contact.getContactPosition());
ContactType contactInfo = owsf.createContactType();
serviceContact.setContactInfo(contactInfo);
AddressType address = owsf.createAddressType();
contactInfo.setAddress(address);
address.setAdministrativeArea(contact.getAddressState());
address.setCity(contact.getAddressCity());
address.setCountry(contact.getAddressCountry());
address.setDeliveryPoint(null);
address.setElectronicMailAddress(contact.getContactEmail());
address.setPostalCode(contact.getAddressPostalCode());
contactInfo.setContactInstructions(null);
contactInfo.setHoursOfService(null);
OnlineResourceType onlineResource = owsf.createOnlineResourceType();
contactInfo.setOnlineResource(onlineResource);
onlineResource.setHref(contact.getOnlineResource());
TelephoneType telephone = owsf.createTelephoneType();
contactInfo.setPhone(telephone);
telephone.setFacsimile(contact.getContactFacsimile());
telephone.setVoice(contact.getContactVoice());