Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /**
- * The contents of this file are subject to the OpenMRS Public License
- * Version 1.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://license.openmrs.org
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * Copyright (C) OpenMRS, LLC. All Rights Reserved.
- */
- package org.openmrs.customdatatype.datatype;
- import org.apache.commons.lang.StringUtils;
- import org.openmrs.Provider;
- import org.openmrs.api.context.Context;
- import org.openmrs.customdatatype.SerializingCustomDatatype;
- import org.springframework.stereotype.Component;
- /**
- * Datatype for Provider, represented by org.openmrs.Provider.
- * @since 1.9
- */
- @Component
- public class ProviderDatatype extends SerializingCustomDatatype<Provider> {
- /**
- * @see org.openmrs.customdatatype.SerializingCustomDatatype#serialize(java.lang.Object)
- */
- @Override
- public String serialize(Provider typedValue) {
- if (typedValue == null)
- return null;
- return typedValue.getUuid();
- }
- /**
- * @see org.openmrs.customdatatype.SerializingCustomDatatype#deserialize(java.lang.String)
- */
- @Override
- public Provider deserialize(String serializedValue) {
- if (StringUtils.isEmpty(serializedValue))
- return null;
- return Context.getProviderService().getProviderByUuid(serializedValue);
- }
- }
- /**
- * The contents of this file are subject to the OpenMRS Public License
- * Version 1.0 (the "License"); you may not use this file except in
- * compliance with the License. You may obtain a copy of the License at
- * http://license.openmrs.org
- *
- * Software distributed under the License is distributed on an "AS IS"
- * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
- * License for the specific language governing rights and limitations
- * under the License.
- *
- * Copyright (C) OpenMRS, LLC. All Rights Reserved.
- */
- package org.openmrs.web.attribute.handler;
- import java.util.HashMap;
- import java.util.Map;
- import javax.servlet.http.HttpServletRequest;
- import org.apache.commons.lang.StringUtils;
- import org.openmrs.Provider;
- import org.openmrs.api.context.Context;
- import org.openmrs.customdatatype.CustomDatatype;
- import org.openmrs.customdatatype.InvalidCustomValueException;
- import org.openmrs.customdatatype.datatype.ProviderDatatype;
- import org.openmrs.messagesource.MessageSourceService;
- import org.springframework.stereotype.Component;
- /**
- * Handler for the Provider custom datatype
- */
- @Component
- public class ProviderDatatypeHandler implements FieldGenDatatypeHandler<ProviderDatatype, Provider> {
- /**
- * @see org.openmrs.customdatatype.CustomDatatypeHandler#setHandlerConfiguration(java.lang.String)
- */
- @Override
- public void setHandlerConfiguration(String arg0) {
- // not used
- }
- /**
- * @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getWidgetName()
- */
- @Override
- public String getWidgetName() {
- return "provider";
- }
- /**
- * @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getWidgetConfiguration()
- */
- @Override
- public Map<String, Object> getWidgetConfiguration() {
- return null;
- }
- /**
- * @see org.openmrs.web.attribute.handler.FieldGenDatatypeHandler#getValue(org.openmrs.customdatatype.CustomDatatype, javax.servlet.http.HttpServletRequest, java.lang.String)
- */
- @Override
- public Provider getValue(ProviderDatatype datatype, HttpServletRequest request,
- String formFieldName) throws InvalidCustomValueException {
- String result = request.getParameter(formFieldName);
- if (StringUtils.isBlank(result))
- return null;
- try {
- return Context.getProviderService().getProviderByUuid(result);
- }
- catch (Exception e) {
- throw new InvalidCustomValueException("Invalid provider: " + result);
- }
- }
- /**
- * @see org.openmrs.web.attribute.handler.HtmlDisplayableDatatypeHandler#toHtmlSummary(org.openmrs.customdatatype.CustomDatatype, java.lang.String)
- */
- @Override
- public CustomDatatype.Summary toHtmlSummary(CustomDatatype<Provider> datatype, String valueReference) {
- return new CustomDatatype.Summary(valueReference, true);
- }
- /**
- * @see org.openmrs.web.attribute.handler.HtmlDisplayableDatatypeHandler#toHtml(org.openmrs.customdatatype.CustomDatatype, java.lang.String)
- */
- @Override
- public String toHtml(CustomDatatype<Provider> datatype, String valueReference) {
- return valueReference;
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement