0,0 → 1,88 |
package net.brutex.xservices.ws.rs; |
|
import java.net.URL; |
import java.util.GregorianCalendar; |
import java.util.List; |
|
import javax.ws.rs.core.GenericEntity; |
import javax.ws.rs.core.HttpHeaders; |
import javax.ws.rs.core.Response; |
|
import org.apache.commons.configuration.ConfigurationException; |
import org.apache.commons.configuration.PropertiesConfiguration; |
import org.apache.commons.jcs.JCS; |
import org.apache.commons.jcs.access.exception.CacheException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
|
import net.brutex.mgmt.api.xml.Customer; |
import net.brutex.mgmt.api.xml.DateFilter; |
import net.brutex.mgmt.api.xml.Query; |
import net.brutex.mgmt.api.xml.Query.BOOL; |
import net.brutex.mgmt.api.xml.StringEntity; |
import net.brutex.mgmt.openair.OpenAirRestConnection; |
|
public class OpenAirInfoServiceImpl implements OpenAirInfoService { |
|
static final Logger logger = LogManager.getLogger(); |
|
@Override |
public Response getCompanies(HttpHeaders paramHttpHeaders, String search) { |
OpenAirRestConnection con = getOpenAirConnection(); |
Query query = new Query(Customer.class); |
|
query.addQuery("Address_Country", new StringEntity(search), BOOL.AND); |
query.addQuery("active", new StringEntity("1"), BOOL.AND); |
DateFilter datefilter = new DateFilter("updated"); |
GregorianCalendar date = new GregorianCalendar(); |
|
date.add(GregorianCalendar.MINUTE, -5); |
datefilter.setStartdate(date); |
|
query.addFilter(datefilter); |
//query.addQuery("CustomerAccountCode", new StringEntity(search), BOOL.OR); |
List<Customer> resultlist = (List<Customer>) con.getEntitiesByQuery(query); |
GenericEntity generic = new GenericEntity<List<Customer>>(resultlist) {}; |
Response response = Response.ok(generic).build(); |
return response; |
} |
|
|
|
private OpenAirRestConnection getOpenAirConnection() { |
|
/* |
* get details from configuration file |
*/ |
final PropertiesConfiguration props; |
try { |
final String config = "../openair.properties"; |
logger.debug("Loading Open Air connection details from " + this.getClass().getClassLoader().getResource("/") |
+ config); |
|
final URL configloc = this.getClass().getClassLoader().getResource(config); |
|
props = new PropertiesConfiguration(configloc); |
final String user = props.getString("user"); |
final String password = props.getString("password"); |
final String company = props.getString("company"); |
final String apikey = props.getString("apikey", "9x7G49ENkLCJ81i9XZJU"); |
final String namespace = props.getString("namespace"); |
|
final OpenAirRestConnection con; |
|
con = new OpenAirRestConnection(JCS.getInstance("FileCache"), company, user, password); |
return con; |
} catch (CacheException e) { |
logger.error(e); |
e.printStackTrace(); |
} catch (ConfigurationException e) { |
logger.error(e); |
e.printStackTrace(); |
} finally { |
|
} |
return null; |
} |
|
} |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |