diff --git a/pom.xml b/pom.xml
index 2e86795..f9f5280 100644
--- a/pom.xml
+++ b/pom.xml
@@ -536,8 +536,22 @@
org.eclipse.emf.ecore
2.9.1-v20130827-0309
+
+
+ commons-collections
+ commons-collections
+ 3.2.2
+
+
+
+ egovframework.rte
+ egovframework-rte-psl-dataaccess
+ 2.7.0
+ system
+ ${project.basedir}/src/main/webapp/WEB-INF/lib/egovframework.rte.psl.dataaccess-2.7.0.jar
+
org.opengis
diff --git a/src/main/java/com/geotwo/webserver/core/service/AbstractService.java b/src/main/java/com/geotwo/webserver/core/service/AbstractService.java
deleted file mode 100644
index 20a4a03..0000000
--- a/src/main/java/com/geotwo/webserver/core/service/AbstractService.java
+++ /dev/null
@@ -1,29 +0,0 @@
-package com.geotwo.webserver.core.service;
-
-import java.io.IOException;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-
-public abstract class AbstractService extends HttpServlet {
- private static final long serialVersionUID = 2014061020172321L;
-
- public abstract Object parseQuery(HttpServletRequest paramHttpServletRequest) throws Exception;
-
- public abstract String doProcess(String paramString);
-
- public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
- super.service(arg0, arg1);
- }
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doGet(req, resp);
- }
-
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doPost(req, resp);
- }
-}
diff --git a/src/main/java/com/geotwo/webserver/core/service/Service.java b/src/main/java/com/geotwo/webserver/core/service/Service.java
deleted file mode 100644
index b16762d..0000000
--- a/src/main/java/com/geotwo/webserver/core/service/Service.java
+++ /dev/null
@@ -1,182 +0,0 @@
-package com.geotwo.webserver.core.service;
-
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.ServerInfo;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.plugin.ows.util.PluginUtil;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.OutputStream;
-import java.text.DecimalFormat;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServlet;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-
-public class Service extends AbstractService {
- private static final long serialVersionUID = 2014061008205121L;
-
- private static final int SLEEP_TIME = 1000;
-
- private static final int MAX_SLEEP_TIME = 20000;
-
- public String parseQuery(HttpServletRequest req) throws Exception {
- return null;
- }
-
- public String doProcess(String str) {
- return null;
- }
-
- public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
- req.setCharacterEncoding("UTF-8");
- String rootPath = ((HttpServletRequest)req).getContextPath();
- String serviceName = ((HttpServletRequest)req).getRequestURI().replace(rootPath, "");
- while (serviceName.endsWith("/"))
- serviceName = serviceName.substring(0, serviceName.length() - 1);
- long reqId = System.currentTimeMillis();
- if (((HttpServletRequest)req).getMethod().equalsIgnoreCase("GET")) {
- LogMngr.getInstance().reqInfo("[REQUEST]",
- "[" + reqId + "] GET, From " + PluginUtil.getClientIP((HttpServletRequest)req) +
- " To " + ((serviceName.length() == 0) ? "/" : serviceName) + " , Request : " + ((HttpServletRequest)req).getQueryString());
- } else {
- LogMngr.getInstance().reqInfo("[REQUEST]",
- "[" + reqId + "] POST, From " + PluginUtil.getClientIP((HttpServletRequest)req) +
- " To " + ((serviceName.length() == 0) ? "/" : serviceName) + " , Request : " + ((HttpServletRequest)req).getQueryString());
- }
- if (serviceName.length() == 0) {
- RequestDispatcher dispatcher = req.getRequestDispatcher("index.html");
- dispatcher.forward(req, resp);
- return;
- }
- if (isFileService(serviceName)) {
- File file = new File(getServletContext().getRealPath(serviceName));
- writeFileResponse(resp, file);
- return;
- }
- HttpServlet service = ServiceMngr.getService(serviceName);
- if (service != null) {
- if (service instanceof ServerInfoService) {
- service.service(req, resp);
- } else if (ServerInfo.getInstance().isStarted()) {
- if (ServerInfo.getInstance().isReStarting()) {
- long sleepTile = System.currentTimeMillis();
- while (true) {
- if (System.currentTimeMillis() - sleepTile > 20000L) {
- writeFailResponse(resp, "O2Map Web is busy to restart. Waiting time for request has been exceeded. [20/sec]");
- break;
- }
- if (!ServerInfo.getInstance().isReStarting()) {
- service.service(req, resp);
- break;
- }
- try {
- Thread.sleep(1000L);
- } catch (InterruptedException interruptedException) {}
- }
- } else {
- service.service(req, resp);
- }
- } else {
- writeFailResponse(resp, "O2Map Web is not ready. Please check up server configurations and restart server.");
- }
- } else {
- writeFailResponse(resp, "Service [" + serviceName + "] is unregistered Service on O2Map Web.");
- }
- LogMngr.getInstance().reqInfo("[RESPONSE]",
- "[" + reqId + "] is Finish." +
-
- "Time : " + (new DecimalFormat(".##")).format((System.currentTimeMillis() - reqId) / 1000.0D) + "/sec");
- }
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doGet(req, resp);
- }
-
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- super.doPost(req, resp);
- }
-
- private boolean isFileService(String uri) {
- try {
- File file = new File(getServletContext().getRealPath(uri));
- if (file.exists())
- return true;
- } catch (Exception exception) {}
- return false;
- }
-
- private void writeFileResponse(ServletResponse resp, File file) {
- try {
- int length = 0;
- ServletOutputStream outStream = resp.getOutputStream();
- String mimetype = getServletContext().getMimeType(file.getAbsolutePath());
- if (mimetype == null)
- mimetype = "application/octet-stream";
- resp.setContentType(mimetype);
- resp.setContentLength((int)file.length());
- byte[] byteBuffer = new byte[1024];
- FileInputStream in = new FileInputStream(file);
- while (in != null && (length = in.read(byteBuffer)) != -1)
- outStream.write(byteBuffer, 0, length);
- in.close();
- outStream.close();
- } catch (FileNotFoundException e) {
- LogMngr.getInstance().logError("[SERVICE]", "Request file not found. :: " + e.getMessage());
- } catch (IOException e) {
- LogMngr.getInstance().logError("[SERVICE]", "Can't make response output stream. :: " + e.getMessage());
- }
- }
-
- private void writeFailResponse(ServletResponse resp, String msg) {
- try {
- LogMngr.getInstance().logError("[SERVICE]", msg);
- Document doc = getFailDocument(msg);
- Transformer xformer = TransformerFactory.newInstance().newTransformer();
- if (ServerContext.getDocIndent().intValue() > 0) {
- xformer.setOutputProperty("indent", "yes");
- xformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", ServerContext.getDocIndent().toString());
- }
- resp.setContentType("text/xml; charset=UTF-8");
- xformer.transform(new DOMSource(doc), new StreamResult((OutputStream)resp.getOutputStream()));
- } catch (Exception e) {
- LogMngr.getInstance().logError("[SERVICE]", "Do not create XML : " + Service.class + " / " + e.getMessage());
- }
- }
-
- private static Document getFailDocument(String msg) throws ParserConfigurationException {
- DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
- DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
- Document doc = docBuilder.newDocument();
- Element rootElement = doc.createElement("SERVER");
- doc.appendChild(rootElement);
- Element result = doc.createElement("RESULT");
- result.appendChild(doc.createTextNode("Fail"));
- rootElement.appendChild(result);
- Element errorMessage = doc.createElement("INFO");
- errorMessage.appendChild(doc.createTextNode(msg));
- rootElement.appendChild(errorMessage);
- return doc;
- }
-
- public void destroy() {
- super.destroy();
- ServerConfiguration.getInstance().stopServer();
- }
-}
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/service/WMSService.java b/src/main/java/com/geotwo/webserver/plugin/ows/service/WMSService.java
deleted file mode 100644
index bcea922..0000000
--- a/src/main/java/com/geotwo/webserver/plugin/ows/service/WMSService.java
+++ /dev/null
@@ -1,93 +0,0 @@
-package com.geotwo.webserver.plugin.ows.service;
-
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.service.AbstractService;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.service.parser.WMSParser;
-import com.geotwo.webserver.plugin.ows.util.XMLUtil;
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
-import com.geotwo.webserver.plugin.ows.wms.wms130.WMSGetCapabilities;
-import com.geotwo.webserver.plugin.ows.wms.wms130.WMSGetFeatureInfo;
-import com.geotwo.webserver.plugin.ows.wms.wms130.WMSGetLegendGraphic;
-import com.geotwo.webserver.plugin.ows.wms.wms130.WMSGetMap;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
-import java.io.IOException;
-import javax.servlet.RequestDispatcher;
-import javax.servlet.ServletException;
-import javax.servlet.ServletRequest;
-import javax.servlet.ServletResponse;
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import org.w3c.dom.Document;
-
-public class WMSService extends AbstractService {
- private static final long serialVersionUID = 2014061021213030L;
-
- public Request parseQuery(HttpServletRequest req) throws OWSServiceException, Exception {
- Request requestObj = (new WMSParser(req)).parseQuery();
- return requestObj;
- }
-
- public String doProcess(String str) {
- return null;
- }
-
- protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- doPost(req, resp);
- }
-
- protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
- Request requestObj = null;
- Document doc = null;
- try {
- requestObj = parseQuery(req);
- } catch (OWSServiceException e) {
- doc = e.getDocument();
- LogMngr.getInstance().logDebug("[SERVICE]", "WMS Request Prasing Exception : " + e.getMessage());
- } catch (Exception e) {
- OWSServiceException ose = new OWSServiceException("[" + e.getClass().toString() + "] " + e.getMessage());
- doc = ose.getDocument();
- LogMngr.getInstance().logError("[SERVICE]", "WMS Request Prasing Exception : [" + e.getClass().toString() + "] " + e.getMessage());
- }
- boolean isXMLWriteHere = true;
- if (requestObj != null) {
- if (requestObj.getVersion().equals("1.3.0")) {
- if (requestObj instanceof GetCapabilitiesRequest) {
- WMSGetCapabilities wmsGetCapabilities = new WMSGetCapabilities((GetCapabilitiesRequest)requestObj);
- doc = wmsGetCapabilities.getCapabilities();
- } else if (requestObj instanceof GetMapRequest) {
- WMSGetMap wmsGetMap = new WMSGetMap((GetMapRequest)requestObj);
- doc = wmsGetMap.getMap(resp);
- isXMLWriteHere = false;
- } else if (requestObj instanceof GetFeatureInfoRequest) {
- WMSGetFeatureInfo wmsGet = new WMSGetFeatureInfo((GetFeatureInfoRequest)requestObj);
- doc = wmsGet.getFeatureInfo(resp);
- isXMLWriteHere = false;
- } else if (requestObj instanceof GetLegendGraphicRequest) {
- WMSGetLegendGraphic wmsGetLegendGraphic = new WMSGetLegendGraphic((GetLegendGraphicRequest)requestObj);
- doc = wmsGetLegendGraphic.getLegendGraphic(resp);
- isXMLWriteHere = false;
- }
- } else {
- LogMngr.getInstance().logDebug("[SERVICE]", "ver." + requestObj.getVersion() + " is not supported");
- }
- } else {
- LogMngr.getInstance().logDebug("[SERVICE]", "requestObj is not generated.");
- }
- if (doc != null)
- try {
- XMLUtil.writeToResponse(resp, doc);
- } catch (Exception e) {
- LogMngr.getInstance().logError("[SERVICE]", "Write XML Exception : " + e.getMessage());
- doc = null;
- }
- if (doc == null && isXMLWriteHere) {
- resp.setContentType("text/xml; charset=UTF-8");
- RequestDispatcher dispatcher = req.getRequestDispatcher("/OWSServiceError.xml");
- dispatcher.forward((ServletRequest)req, (ServletResponse)resp);
- }
- }
-}
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetMap.java b/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetMap.java
deleted file mode 100644
index 632cf50..0000000
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetMap.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130;
-
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.RenderMngr;
-import com.geotwo.webserver.core.render.io.O2PngWriter;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
-import java.awt.image.BufferedImage;
-import java.io.OutputStream;
-import javax.imageio.ImageIO;
-import javax.servlet.ServletOutputStream;
-import javax.servlet.http.HttpServletResponse;
-import org.w3c.dom.Document;
-
-public class WMSGetMap {
- GetMapRequest requestObj = null;
-
- public WMSGetMap(GetMapRequest requestObj) {
- this.requestObj = requestObj;
- }
-
- public Document getMap(HttpServletResponse resp) {
- AVList params = new AVList();
- params.setValue("request.wms.layers", this.requestObj.getLayers());
- params.setValue("request.wms.bbox", this.requestObj.getBbox());
- params.setValue("request.wms.width", Integer.valueOf(this.requestObj.getWidth()));
- params.setValue("request.wms.height", Integer.valueOf(this.requestObj.getHeight()));
- params.setValue("request.wms.format", this.requestObj.getFormat());
- params.setValue("request.wms.transparent", Boolean.valueOf(this.requestObj.isTransparent()));
- params.setValue("request.wms.bgcolor", this.requestObj.getBgcolor());
- params.setValue("request.wms.styles", this.requestObj.getStyles());
- params.setValue("request.wms.filter", this.requestObj.getFilter());
- if (this.requestObj.getSld() != null)
- params.setValue("request.wms.sld", this.requestObj.getSld());
- BufferedImage image = null;
- Document doc = null;
- try {
- image = RenderMngr.productMap(params);
- } catch (Exception e) {
- OWSServiceException ose = new OWSServiceException("WMS GetMap Exception : Image process fails : " + e.getMessage());
- doc = ose.getDocument();
- LogMngr.getInstance().logError("[SERVICE]", "WMS GetMap Exception : Image process fails : " + e.getMessage());
- }
- if (image != null)
- try {
- writeImage(image, resp);
- } catch (Exception e) {
- OWSServiceException ose = new OWSServiceException("WMS GetMap Exception : Write IMAGE fails : " + e.getMessage());
- doc = ose.getDocument();
- LogMngr.getInstance().logError("[SERVICE]", "WMS GetMap Exception : Write IMAGE fails : " + e.getMessage());
- }
- return doc;
- }
-
- private void writeImage(BufferedImage image, HttpServletResponse resp) throws Exception {
- ServletOutputStream servletOutputStream = null;
- OutputStream out = null;
- try {
- String format = this.requestObj.getFormat();
- String[] formatElement = format.split("/");
- resp.setContentType(format);
- servletOutputStream = resp.getOutputStream();
- if (format.toUpperCase().contains("PNG")) {
- O2PngWriter.writePNG(image, (OutputStream)servletOutputStream);
- } else {
- ImageIO.write(image, formatElement[1], (OutputStream)servletOutputStream);
- }
- } catch (Exception e) {
- throw e;
- } finally {
- if (servletOutputStream != null) {
- servletOutputStream.flush();
- servletOutputStream.close();
- }
- }
- }
-}
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java b/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java
deleted file mode 100644
index fb04c0c..0000000
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java
+++ /dev/null
@@ -1,5 +0,0 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130.request;
-
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
-
-public class GetCapabilitiesRequest extends Request {}
diff --git a/src/main/java/com/MyStartServer.java b/src/main/java/kr/or/geoinfo/MyStartServer.java
similarity index 66%
rename from src/main/java/com/MyStartServer.java
rename to src/main/java/kr/or/geoinfo/MyStartServer.java
index 127292c..9ba9300 100644
--- a/src/main/java/com/MyStartServer.java
+++ b/src/main/java/kr/or/geoinfo/MyStartServer.java
@@ -1,12 +1,12 @@
-package com;
+package kr.or.geoinfo;
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
import org.springframework.stereotype.Component;
-import com.geotwo.webserver.core.ServerInfo;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.service.ServiceMngr;
+import kr.or.geoinfo.webserver.core.ServerInfo;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.service.ServiceMngr;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@@ -25,17 +25,11 @@ public class MyStartServer implements ApplicationListener
*/
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
- // 부모 컨텍스트에도 이벤트가 발생할 수 있으므로, 최상위(루트) 컨텍스트에서만 실행되도록 확인합니다.
- // 이는 중복 실행을 방지합니다.
if (event.getApplicationContext().getParent() == null) {
LOGGER.info("**************************************");
- LOGGER.info("* *");
- LOGGER.info("* WMS 서버 시작 *");
- LOGGER.info("* *");
+ LOGGER.info("**************WMS 서버 시작 *************");
LOGGER.info("**************************************");
- // 여기에 서버 시작 시 실행하고 싶은 다른 로직을 추가할 수 있습니다.
- // 예: 초기 데이터 로드, 스케줄러 시작 등
if (ServerConfiguration.getInstance().startServer())
ServerInfo.getInstance().setStarted(true);
diff --git a/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java
new file mode 100644
index 0000000..fae56b0
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryMapper.java
@@ -0,0 +1,21 @@
+package kr.or.geoinfo.drilling.inquiry.service;
+
+import java.sql.SQLException;
+import java.util.HashMap;
+import java.util.List;
+
+import egovframework.rte.psl.dataaccess.mapper.Mapper;
+import egovframework.rte.psl.dataaccess.util.EgovMap;
+
+@Mapper("drillingInquiryMapper")
+public interface DrillingInquiryMapper {
+ public String getComCodes(HashMap params) throws SQLException;
+ public List drillingInquiryProjectCodes(HashMap params) throws SQLException;
+
+ public List getComNameByComCode(HashMap params) throws SQLException;
+ public void spGetMasterCompanyDistrict(HashMap spGetMasterCompanyDistrictParams) throws SQLException;
+
+}
+
+
+
diff --git a/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryService.java b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryService.java
new file mode 100644
index 0000000..56dbc85
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/DrillingInquiryService.java
@@ -0,0 +1,16 @@
+package kr.or.geoinfo.drilling.inquiry.service;
+
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.json.simple.JSONObject;
+
+import egovframework.rte.psl.dataaccess.util.EgovMap;
+
+
+public interface DrillingInquiryService {
+ JSONObject drillingInquiryProjectCodes(HttpServletRequest request, HashMap params) throws Exception;
+}
diff --git a/src/main/java/kr/or/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java
new file mode 100644
index 0000000..f6b57e0
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/drilling/inquiry/service/impl/DrillingInquiryServiceImpl.java
@@ -0,0 +1,149 @@
+package kr.or.geoinfo.drilling.inquiry.service.impl;
+
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+
+import oracle.sql.TIMESTAMP;
+
+import org.json.simple.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import egovframework.rte.psl.dataaccess.util.EgovMap;
+import kr.or.geoinfo.drilling.inquiry.service.DrillingInquiryMapper;
+import kr.or.geoinfo.drilling.inquiry.service.DrillingInquiryService;
+import kr.or.geoinfo.utils.MyUtil;
+
+@Service("drillingInquiryService")
+public class DrillingInquiryServiceImpl implements DrillingInquiryService {
+
+
+ @Resource(name="drillingInquiryMapper")
+ private DrillingInquiryMapper drillingInquiryMapper;
+
+
+
+
+
+ /**
+ * 발주기관 사용자의 Gl Gm Gs Gf Codes 구한다
+ */
+ private HashMap getOrganizationUserGlGmGsGfCodesByProjectMasterCompanyCode(String projectMasterCompanyCode) throws Exception {
+
+ HashMap params = new HashMap();
+
+ params.put("comCode", projectMasterCompanyCode);
+
+ List datas = drillingInquiryMapper.getComNameByComCode(params);
+
+
+ if( datas.size() < 1 ) {
+ throw new Exception( "발주기관의 gl gm gs gf codes를 구할 수 없습니다." );
+ }
+
+
+ EgovMap data = datas.get(0);
+
+ String projectMasterCompanyName = MyUtil.getStringFromObject(data.get("comName"));
+ HashMap spGetMasterCompanyDistrictParams = new HashMap();
+
+ spGetMasterCompanyDistrictParams.put("projectMasterCompanyName", projectMasterCompanyName);
+
+
+ drillingInquiryMapper.spGetMasterCompanyDistrict(spGetMasterCompanyDistrictParams);
+
+ return spGetMasterCompanyDistrictParams;
+
+ }
+
+
+
+ @Override
+ public JSONObject drillingInquiryProjectCodes(HttpServletRequest request, HashMap params) throws Exception {
+
+ JSONObject jsonResponse = new JSONObject();
+ SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+ String projectMasterCompanyCode = request.getParameter("projectMasterCompanyCode");
+
+ if( projectMasterCompanyCode == null){
+ throw new Exception( "projectMasterCompanyCode 값이 존재하지 않습니다." );
+ }
+
+
+
+ HashMap spGetMasterCompanyDistrictParams = getOrganizationUserGlGmGsGfCodesByProjectMasterCompanyCode(projectMasterCompanyCode);
+
+ String masterCompanyOCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gl") );
+ String masterCompanyTwCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gm") );
+ String masterCompanyThCode = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gs") );
+ String masterCompanyName = MyUtil.getStringFromObject( spGetMasterCompanyDistrictParams.get("v_gf") );
+ String sortfield = "C".equals(MyUtil.getStringFromObject(params.get("constTag"))) ? "0" : "2";
+ String sorttype = "2";
+ params.put("masterCompanyOCode", masterCompanyOCode);
+ params.put("masterCompanyTwCode", masterCompanyTwCode);
+ params.put("masterCompanyThCode", masterCompanyThCode);
+ params.put("masterCompanyName", masterCompanyName);
+ params.put("sortfield", sortfield);
+ params.put("sorttype", sorttype);
+
+
+ try {
+
+ try {
+
+ String keyName = "constComCodes";
+
+ if( params.get("constCompanyName") != null && !MyUtil.getStringFromObject(params.get("constCompanyName")).trim().isEmpty() ) {
+ params.put(keyName, drillingInquiryMapper.getComCodes(params));
+ } else {
+ params.put(keyName, null);
+ }
+
+ List dataList = drillingInquiryMapper.drillingInquiryProjectCodes(params);
+
+
+
+ String lpszProjectCodesWithComma = "";
+ for( EgovMap data : dataList ) {
+
+ String projectCode = MyUtil.getStringFromObject(data.get("projectCode"));
+ if( projectCode != null ) {
+ if( !lpszProjectCodesWithComma.equals("") ) {
+ lpszProjectCodesWithComma += " OR ";
+ }
+ lpszProjectCodesWithComma += "PROJECT_CODE='" + projectCode + "'";
+ }
+ }
+
+ jsonResponse.put("data", lpszProjectCodesWithComma);
+ return jsonResponse;
+ } catch (SQLException e) {
+ String strTxt =
+ "---------- BUG REPORTING START ----------" + "\n" +
+ "에러 문구:[" + request.getRequestURI() + " " + "]" + "\n" +
+ "params:[\n" + params.toString() + "\n]\n" +
+ "e.getMessage():[\n" + e.getMessage() + "\n]\n" + "\n" +
+ "new Date().toString():[" + new Date().toString() + "]\n" + "\n" +
+ "---------- BUG REPORTING END ----------" + "\n" +
+ "";
+ System.out.println(strTxt);
+ throw new Exception( "오류가 발생하였습니다." + "\n" + "SQLException" );
+ }
+
+
+ } catch (org.json.simple.parser.ParseException e) {
+ // TODO Auto-generated catch block
+ throw new Exception( e.getMessage() );
+ }
+ }
+
+
+}
diff --git a/src/main/java/kr/or/geoinfo/mybatis/HotDeployableMybatisSessionFactoryBean.java b/src/main/java/kr/or/geoinfo/mybatis/HotDeployableMybatisSessionFactoryBean.java
new file mode 100644
index 0000000..9adffe6
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/mybatis/HotDeployableMybatisSessionFactoryBean.java
@@ -0,0 +1,214 @@
+package kr.or.geoinfo.mybatis;
+
+import java.io.IOException;
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+import java.lang.reflect.Proxy;
+import java.sql.SQLException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Timer;
+import java.util.TimerTask;
+import java.util.concurrent.locks.Lock;
+import java.util.concurrent.locks.ReentrantReadWriteLock;
+
+import org.apache.ibatis.session.SqlSessionFactory;
+import org.mybatis.spring.SqlSessionFactoryBean;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.beans.factory.DisposableBean;
+import org.springframework.core.io.Resource;
+
+
+public class HotDeployableMybatisSessionFactoryBean extends SqlSessionFactoryBean implements DisposableBean {
+
+ private static final Logger LOGGER = LoggerFactory.getLogger(HotDeployableMybatisSessionFactoryBean.class);
+
+ private SqlSessionFactory proxy;
+ private int interval = 500;
+ private boolean running = false;
+
+ private Timer timer;
+ private TimerTask task;
+
+ private final ReentrantReadWriteLock rwl = new ReentrantReadWriteLock();
+ private final Lock r = rwl.readLock();
+ private final Lock w = rwl.writeLock();
+
+ public Resource[] mapperLocations;
+
+ @Override
+ public void setMapperLocations(Resource[] mapperLocations) {
+ super.setMapperLocations(mapperLocations);
+ this.mapperLocations = mapperLocations;
+ }
+
+ public void setInterval(int interval) {
+ this.interval = interval;
+ }
+
+ public void refresh() throws Exception {
+ w.lock();
+
+ try {
+ super.afterPropertiesSet();
+
+ } finally {
+ w.unlock();
+ }
+
+ LOGGER.debug("Mybatis Mapper File Reloaded!");
+ }
+
+ @Override
+ public void afterPropertiesSet() throws Exception {
+ super.afterPropertiesSet();
+
+ setRefreshable();
+ }
+
+ private void setRefreshable() {
+ proxy = (SqlSessionFactory) Proxy.newProxyInstance(
+ SqlSessionFactory.class.getClassLoader(),
+ new Class[]{SqlSessionFactory.class},
+ new InvocationHandler() {
+ @Override
+ public Object invoke(Object proxy, Method method,
+ Object[] args) throws Throwable {
+ // log.debug("method.getName() : " + method.getName());
+ return method.invoke(getParentObject(), args);
+ }
+ });
+
+ task = new TimerTask() {
+ private final Map map = new HashMap();
+
+ @Override
+ public void run() {
+ if (isModified()) {
+ try {
+ refresh();
+ } catch (NumberFormatException e) {
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.error("Refresh Error Exception", e);
+ } else {
+ LOGGER.error("Refresh Error Exception");
+ }
+ } catch (SQLException e) {
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.error("Refresh Error Exception", e);
+ } else {
+ LOGGER.error("Refresh Error Exception");
+ }
+ } catch (Exception e) {
+ if (LOGGER.isDebugEnabled()) {
+ LOGGER.error("Refresh Error Exception", e);
+ } else {
+ LOGGER.error("Refresh Error Exception");
+ }
+ }
+ }
+ }
+
+ private boolean isModified() {
+ boolean retVal = false;
+
+ if (mapperLocations != null) {
+ for (int i = 0; i < mapperLocations.length; i++) {
+ Resource mappingLocation = mapperLocations[i];
+ retVal |= findModifiedResource(mappingLocation);
+ }
+ }
+
+ return retVal;
+ }
+
+ private boolean findModifiedResource(Resource resource) {
+ boolean retVal = false;
+ List modifiedResources = new ArrayList();
+
+ try {
+ long modified = resource.lastModified();
+
+ if (map.containsKey(resource)) {
+ long lastModified = map.get(resource).longValue();
+
+ if (lastModified != modified) {
+ map.put(resource, new Long(modified));
+ modifiedResources.add(resource.getDescription());
+ retVal = true;
+ }
+ } else {
+ map.put(resource, new Long(modified));
+ }
+ } catch (NumberFormatException e) {
+ LOGGER.debug("Exception: " + e);
+ } catch (IOException e) {
+ LOGGER.debug("Exception: " + e.toString());
+ } catch (Exception e) {
+ LOGGER.debug("Exception: " + e);
+ }
+
+ if (retVal) {
+ LOGGER.debug("Mybatis Mapper File Changed: " + modifiedResources);
+ }
+ return retVal;
+ }
+ };
+
+ timer = new Timer(true);
+ resetInterval();
+
+ }
+
+ private Object getParentObject() throws Exception {
+ r.lock();
+ try {
+ return super.getObject();
+ } finally {
+ r.unlock();
+ }
+ }
+
+ @Override
+ public SqlSessionFactory getObject() {
+ return this.proxy;
+ }
+
+ @Override
+ public Class extends SqlSessionFactory> getObjectType() {
+ return (this.proxy != null ? this.proxy.getClass() : SqlSessionFactory.class);
+ }
+
+ @Override
+ public boolean isSingleton() {
+ return true;
+ }
+
+ public void setCheckInterval(int ms) {
+ interval = ms;
+
+ if (timer != null) {
+ resetInterval();
+ }
+ }
+
+ private void resetInterval() {
+ if (running) {
+ timer.cancel();
+ running = false;
+ }
+ if (interval > 0) {
+ timer.schedule(task, 0, interval);
+ running = true;
+ }
+ }
+
+ @Override
+ public void destroy() {
+ timer.cancel();
+ }
+
+}
diff --git a/src/main/java/kr/or/geoinfo/utils/ApplicationContextUtils.java b/src/main/java/kr/or/geoinfo/utils/ApplicationContextUtils.java
new file mode 100644
index 0000000..21a266c
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/utils/ApplicationContextUtils.java
@@ -0,0 +1,51 @@
+package kr.or.geoinfo.utils;
+
+import org.springframework.beans.BeansException;
+import org.springframework.context.ApplicationContext;
+import org.springframework.context.ApplicationContextAware;
+import org.springframework.stereotype.Component;
+
+/**
+ * Spring이 관리하지 않는 클래스(static 클래스 등)에서
+ * Spring ApplicationContext에 접근하여 Bean을 가져올 수 있게 해주는 유틸리티 클래스.
+ * * @Component 어노테이션을 통해 Spring이 이 클래스를 Bean으로 등록하고
+ * ApplicationContextAware 인터페이스를 통해 ApplicationContext를 주입받습니다.
+ */
+@Component
+public class ApplicationContextUtils implements ApplicationContextAware {
+
+ private static ApplicationContext applicationContext;
+
+ @Override
+ public void setApplicationContext(ApplicationContext context) throws BeansException {
+ // Spring이 초기화될 때 이 메서드를 호출하여 ApplicationContext를 저장합니다.
+ applicationContext = context;
+ }
+
+ /**
+ * 저장된 ApplicationContext를 반환합니다.
+ * @return ApplicationContext
+ */
+ public static ApplicationContext getApplicationContext() {
+ return applicationContext;
+ }
+
+ /**
+ * Bean 이름으로 Spring Bean을 조회합니다.
+ * @param beanName Spring Bean의 이름
+ * @return Object 타입의 Bean (형변환 필요)
+ */
+ public static Object getBean(String beanName) {
+ return applicationContext.getBean(beanName);
+ }
+
+ /**
+ * Bean 타입(Class)으로 Spring Bean을 조회합니다.
+ * @param Bean의 타입
+ * @param requiredType Bean의 클래스
+ * @return 제네릭으로 지정된 타입의 Bean
+ */
+ public static T getBean(Class requiredType) {
+ return applicationContext.getBean(requiredType);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/kr/or/geoinfo/utils/MyUtil.java b/src/main/java/kr/or/geoinfo/utils/MyUtil.java
new file mode 100644
index 0000000..efcb2c4
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/utils/MyUtil.java
@@ -0,0 +1,908 @@
+package kr.or.geoinfo.utils;
+
+import java.io.UnsupportedEncodingException;
+import java.math.BigDecimal;
+import java.net.URLDecoder;
+import java.security.MessageDigest;
+import java.security.NoSuchAlgorithmException;
+import java.sql.SQLException;
+import java.sql.Timestamp;
+import java.text.DecimalFormat;
+import java.text.DecimalFormatSymbols;
+import java.text.NumberFormat;
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+import javax.servlet.http.HttpServletRequest;
+
+import org.apache.commons.httpclient.NameValuePair;
+import org.json.simple.JSONObject;
+import org.json.simple.parser.JSONParser;
+import org.json.simple.parser.ParseException;
+import org.slf4j.Logger;
+import org.slf4j.LoggerFactory;
+import org.springframework.web.servlet.support.ServletUriComponentsBuilder;
+
+
+public final class MyUtil {
+
+ private static final Logger logger = LoggerFactory.getLogger(MyUtil.class);
+
+ public static final String VERSION = "20240816_1430";
+
+ private static final SimpleDateFormat sdf = new SimpleDateFormat("yyyy.MM.dd.HH.mm.ss");
+
+ // 주석 다는 기준: https://www.oracle.com/technetwork/java/javase/tech/index-137868.html
+
+ /**
+ * 특정 자리수의 랜덤 숫자를 생성한다.
+ * @param nLength 랜덤문자의 길이
+ * @return 생성된 랜덤 문자
+ */
+ public static String getRandomNumber(int nLength) {
+ Random generator = new Random();
+ String strRandValue = "";
+
+ for (int i = 0; i < nLength; i++) {
+ strRandValue += Integer.toString( generator.nextInt(10) );
+ }
+
+ return strRandValue;
+ }
+
+ /**
+ * 현재 Timestamp를 반환한다
+ * @return 현재 Timestamp yyyy-MM-dd hh:mm:ss
+ */
+ public static String getCurrentDateTime() {
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ System.out.println(timestamp);
+
+ return new SimpleDateFormat("yyyy-MM-dd hh:mm:ss").format(timestamp);
+ }
+
+
+ /**
+ * 현재 date를 반환한다
+ * @return 현재 Timestamp yyyy-MM-dd
+ */
+ public static String getCurrentDate() {
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ System.out.println(timestamp);
+
+ return new SimpleDateFormat("yyyy-MM-dd").format(timestamp);
+ }
+
+
+ /**
+ * 현재 시각 구하기
+ * @return 현재 Timestamp hh:mm:ss
+ */
+ public static String getCurrentTime() {
+ Timestamp timestamp = new Timestamp(System.currentTimeMillis());
+ System.out.println(timestamp);
+
+ return new SimpleDateFormat("hh:mm:ss").format(timestamp);
+ }
+
+ /**
+ * 년 월 일 날짜 더하기
+ *
+ * @param dt(날짜) , y(년) , m(월), d(일)
+ * @Exam addDate("2018-09-10",1,12,1) -->20200911 addDate("2018-09-10",1,-2,1) -->20200711
+ * @return String
+ */
+ public static String addDate(String dt, int y, int m, int d) throws Exception {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+ Calendar cal = Calendar.getInstance();
+ Date date = format.parse(dt);
+ cal.setTime(date);
+ cal.add(Calendar.YEAR, y); //년 더하기
+ cal.add(Calendar.MONTH, m); //월 더하기
+ cal.add(Calendar.DATE, d); //일 더하기
+
+ return format.format(cal.getTime());
+ }
+
+ /**
+ * 일 구하기
+ *
+ * @param dt(날짜)
+ * @Exam addDate("2018-09-10",1,12,1) -->20200911 addDate("2018-09-10",1,-2,1) -->20200711
+ * @return int
+ */
+ public static int getDate(String dt) throws Exception {
+ SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd");
+
+ Calendar cal = Calendar.getInstance();
+ Date date = format.parse(dt);
+ cal.setTime(date);
+ logger.info("getDate:" + cal.get(cal.DATE));
+ return cal.get(cal.DATE);
+ }
+
+
+
+ /**
+ * UPDATE 문에서 문자열 타입의 필드를 추가한다.
+ *
+ * @param strQuery 쿼리, strColumnName 컬럼명, strTarget
+ * @Exam addUpdateString("UPDATE SET ", "name", "홍길동") --> UPDATE SET name='홍길동',
+ * @return String
+ */
+ public static String addUpdateString(String strQuery, String strColumnName, String strValue ) {
+
+ if( strValue != null && strValue.isEmpty() == false && strValue.equals("undefined") == false && strValue.equals("null") == false ) {
+ strQuery += strColumnName + "='" + strValue + "',";
+ }
+ return strQuery;
+ }
+
+ /**
+ * UPDATE 문에서 Long 타입의 필드를 추가한다.
+ *
+ * @param strQuery 쿼리, strColumnName 컬럼명, longTarget
+ * @Exam addUpdateString("UPDATE SET ", "age", 2l) --> UPDATE SET age=2,
+ * @return String
+ */
+ public static String addUpdateLong(String strQuery, String strColumnName, Long longTarget ) {
+
+ if( longTarget != null ) {
+ strQuery += strColumnName + "=" + longTarget + ",";
+ }
+ return strQuery;
+ }
+
+ /*
+ public static boolean isJSONValid(String test) {
+ try {
+ new JSONObject(test);
+ } catch (JSONException ex) {
+ // edited, to include @Arthur's comment
+ // e.g. in case JSONArray is valid as well...
+ try {
+ new JSONArray(test);
+ } catch (JSONException ex1) {
+ return false;
+ }
+ }
+ return true;
+ }
+ */
+
+ public static String getQuery(List params) throws UnsupportedEncodingException
+ {
+ StringBuilder result = new StringBuilder();
+ boolean first = true;
+
+ for (NameValuePair pair : params)
+ {
+ if (first)
+ first = false;
+ else
+ result.append("&");
+
+ //result.append(URLEncoder.encode(pair.getName(), "UTF-8"));
+ result.append(pair.getName());
+ result.append("=");
+ result.append(pair.getValue());
+ //result.append(URLEncoder.encode(pair.getValue(), "UTF-8"));
+ }
+
+ return result.toString();
+ }
+
+ /**
+ * SHA-256으로 해싱하는 메소드
+ * @param msg
+ * @return
+ * @throws NoSuchAlgorithmException
+ */
+ public static String sha256(String msg) throws NoSuchAlgorithmException {
+ MessageDigest md = MessageDigest.getInstance("SHA-256");
+ md.update(msg.getBytes());
+
+ return bytesToHex(md.digest());
+ }
+
+
+ /**
+ * 바이트를 헥스값으로 변환한다
+ *
+ * @param bytes
+ * @return
+ */
+ public static String bytesToHex(byte[] bytes) {
+ StringBuilder builder = new StringBuilder();
+ for (byte b: bytes) {
+ builder.append(String.format("%02x", b));
+ }
+ return builder.toString();
+ }
+
+ /**
+ * 세틀뱅크 수취인 조회 서비스 HTML문서에서 특정 값 추출하기
+ * @param html_line
+ * @param inputName
+ * @return
+ */
+ public static String parseInpuValueForSettleBankResponse(String html_line, String inputName) {
+
+ String[] strArrValue = html_line.split("name=\"" + inputName + "\" value=");
+ String strValue = "";
+
+ if( strArrValue.length == 2 ) {
+ strValue = strArrValue[1].replaceAll("[\"|>|\\r\\n|\\n\\r|\\r|\\n|\\s|\\+)]","");
+ try {
+ //logger.info("Encoding EUC-KR:" + URLDecoder.decode(strValue, "EUC-KR"));
+ //logger.info("Encoding UTF-8:" + URLDecoder.decode(strValue, "UTF-8"));
+ strValue = URLDecoder.decode(strValue, "UTF-8");
+ } catch (UnsupportedEncodingException e2) {
+ // TODO Auto-generated catch block
+ e2.printStackTrace();
+ }
+ }
+ return strValue;
+ }
+
+ /**
+ * 숫자 외 소수점을 포함한 모든 특수문자를 제거해준다.
+ *
+ */
+ public static String removeSpecialChractersNumber( String decimalNumber ) {
+ decimalNumber = decimalNumber.replaceAll("[^0-9]", ""); //숫자 외 모두 제거한다.
+ return decimalNumber;
+ }
+
+ /**
+ * 수수점을 제외한 나머지 특수문자를 제거해준다. 그리고 소수점은 1개만 들어가도록 해준다.
+ *
+ */
+ public static String removeSpecialChractersDecimalNumber( String decimalNumber ) {
+ decimalNumber = decimalNumber.replaceAll("[^0-9.\\-]", ""); //숫자와 쩜.-말고는 제거한다.
+ // 소수점 1개만 넣도록 하기
+ int nDotIdx = decimalNumber.indexOf(".");
+ if( nDotIdx > -1 ) {
+ String[] arrSplit = decimalNumber.split("\\.");
+ if( arrSplit.length != 0) {
+ decimalNumber = "";
+ }
+ for( int i = 0; i < arrSplit.length ; i++ ) {
+ decimalNumber += arrSplit[i];
+ if( i == 0 ) {
+ decimalNumber += ".";
+ }
+ }
+ }
+ logger.info("removeSpecialChractersDecimalNumber() decimalNumber:" + decimalNumber);
+ return decimalNumber;
+ }
+
+
+ /**
+ * 소수점자리수가 3자리 이상이면 2자리까지만 남기고 나머지는 지운다.
+ * @param decimalNumber 소수점 자리 n개 이상 인 경우, 지울 숫자가 들어있는 문자열
+ * @param nLimitDecimalNumber 허용할 소수점 자
+ * @return
+ */
+ public static String removeOverDecimalNumber( String decimalNumber, int nLimitDecimalNumber ) {
+ logger.error("decimalNumber:" + decimalNumber);
+ int nDotIdx = decimalNumber.indexOf(".");
+ if( nDotIdx > -1 ) {
+ String[] arrSplit = decimalNumber.split("\\.");
+ if( arrSplit[1].length() > nLimitDecimalNumber ) {
+ return arrSplit[0] + "." + arrSplit[1].substring(0,2);
+ }
+ }
+ logger.error("decimalNumber:" + decimalNumber);
+ return decimalNumber;
+ }
+
+ /**
+ * 1,000 단위마다 콤마를 찍는다.
+ * @param bdAmount
+ * @return
+ */
+ public static String addComma(BigDecimal bdAmount) {
+ return addComma(bdAmount.toPlainString());
+ }
+
+ /**
+ * 1,000 단위마다 콤마를 찍는다.
+ * @param doubleAmount
+ * @return
+ */
+ public static String addComma(Double doubleAmount) {
+ return addComma(BigDecimal.valueOf(doubleAmount));
+ }
+
+ /**
+ * 1,000 단위마다 콤마를 찍는다.
+ * @param longAmount
+ * @return
+ */
+ public static String addComma(Long longAmount) {
+ return addComma(BigDecimal.valueOf(longAmount));
+ }
+
+ /**
+ * 1,000 단위마다 콤마를 찍는다.
+ * @param strAmount
+ * @return
+ */
+ public static String addComma(String strAmount) {
+ DecimalFormat formatter = (DecimalFormat) NumberFormat.getInstance(Locale.US);
+ DecimalFormatSymbols symbols = formatter.getDecimalFormatSymbols();
+
+ if( isNumeric(strAmount) == false ) {
+ return strAmount;
+ }
+
+ int nDotIndex = strAmount.indexOf(".");
+
+
+ symbols.setGroupingSeparator(',');
+ formatter.setDecimalFormatSymbols(symbols);
+ if( nDotIndex > -1 ) {
+ return formatter.format(Double.parseDouble( strAmount ));
+ } else {
+ return formatter.format(Long.parseLong( strAmount ));
+ }
+
+ }
+
+ /**
+ * 숫자에서 끝에 0000을 제거한다.
+ *
+ */
+ public static String trimTrailingZero( String decimalNumber ) {
+ decimalNumber = decimalNumber.replaceAll("[^0-9.\\-]", ""); //숫자와 쩜.-말고는 제거한다.
+ decimalNumber = decimalNumber.indexOf(".") < 0 ? decimalNumber : decimalNumber.replaceAll("0*$", "").replaceAll("\\.$", "");
+ logger.info("trimTrailingZero() decimalNumber:" + decimalNumber);
+ return decimalNumber;
+ }
+
+ /**
+ * SQL 인젝션 방어를 위해 특수문자를 제거한다.
+ * @param myString
+ * @return
+ */
+ public static String removeSQLInjectionSpecialCharacter(String myString) {
+ if( myString == null ) {
+ return myString;
+ }
+ myString = myString.replaceAll( "<|>|\\(|\\)|'|\"|\\|;|=|\\+|\\||&|#|\\.\\.", " ");
+
+ return myString;
+ }
+
+
+ /**
+ * UUID(GUID)를 얻는다.
+ * @return 구한 UUID(GUID) 값.
+ */
+ public static String getUuid() {
+ String uuid = UUID.randomUUID().toString();
+ return uuid;
+ }
+
+ /** 숫자인지 아닌지 확인한다. */
+ public static boolean isNumeric(String strNum) {
+ if (strNum == null) {
+ return false;
+ }
+ try {
+ double d = Double.parseDouble(strNum);
+ } catch (NumberFormatException nfe) {
+ return false;
+ }
+ return true;
+ }
+
+ public static boolean isNumeric(Double num) {
+ if (num == null) {
+ return false;
+ }
+ return isNumeric(num.toString());
+ }
+
+ public static boolean isNumeric(Integer num) {
+ if (num == null) {
+ return false;
+ }
+ return isNumeric(num.toString());
+ }
+
+ public static boolean isNumeric(Long num) {
+ if (num == null) {
+ return false;
+ }
+ return isNumeric(num.toString());
+ }
+
+ /** Long형태의 숫자인지 아닌지 확인한다. */
+ public static boolean isNumericForLong(String strNum) {
+ if (strNum == null) {
+ return false;
+ }
+ try {
+ Long lValue = Long.parseLong(strNum);
+ } catch (NumberFormatException nfe) {
+ return false;
+ }
+ return true;
+ }
+
+
+ public static Integer getIntegerFromObject(Object obj) {
+ if (obj instanceof Integer ) {
+ return (Integer) obj;
+ } else if (obj instanceof String ) {
+ return Integer.parseInt((String) obj);
+ } else if (obj instanceof Long) {
+ return ((Long) obj).intValue();
+ } else if (obj instanceof Double) {
+ return ((Long)Math.round((Double)obj)).intValue();
+ } else if (obj instanceof BigDecimal) {
+ return ((BigDecimal)obj).intValue();
+ }
+
+ return null;
+ }
+
+ public static Long getLongFromObject(Object obj) {
+ if (obj instanceof String ) {
+ String strObj = (String) obj;
+ if( isNumeric(strObj) ) {
+ return Long.parseLong((String) obj);
+ }
+ } else if (obj instanceof Integer) {
+ return ((Integer) obj).longValue();
+ } else if (obj instanceof Long) {
+ return (Long) obj;
+ } else if (obj instanceof Double) {
+ return ((Long)Math.round((Double)obj));
+ }
+
+ return null;
+ }
+
+ public static Double getDoubleFromObject(Object obj) throws Exception {
+ String str = getStringFromObject(obj);
+ str = removeSpecialChractersDecimalNumber(str);
+ return Double.parseDouble((String) str);
+ }
+
+ public static BigDecimal getBigDecimalFromObject(Object obj) throws Exception {
+ return BigDecimal.valueOf(getDoubleFromObject(obj));
+ }
+
+
+
+ public static String getStringFromObject(Object obj) throws Exception {
+ if (obj == null) {
+ return null;
+ } else if (obj instanceof String ) {
+ return (String) obj;
+ } else if (obj instanceof Integer) {
+ return ((Integer)obj).toString();
+ } else if (obj instanceof Long) {
+ return ((Long) obj).toString();
+ } else if (obj instanceof Float) {
+ return ((Float)obj).toString();
+ } else if (obj instanceof Double) {
+ return ((Double)obj).toString();
+ } else if (obj instanceof BigDecimal) {
+ return ((BigDecimal)obj).toPlainString();
+ } else if (obj instanceof Date) {
+ return ((Date)obj).toString();
+ }
+
+ return null;
+ }
+
+ public static org.json.simple.JSONObject getJSONObjectFromObject(Object obj) {
+ if (obj instanceof org.json.simple.JSONObject ) {
+ return (org.json.simple.JSONObject) obj;
+ } else if (obj instanceof String ) {
+ JSONParser parser = new JSONParser();
+ try {
+ obj = parser.parse( (String) obj );
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return (org.json.simple.JSONObject) obj;
+ }
+ return null;
+ }
+
+ public static org.json.simple.JSONArray getJSONArrayFromObject(Object obj) {
+ if (obj instanceof org.json.simple.JSONArray ) {
+ return (org.json.simple.JSONArray) obj;
+ } else if (obj instanceof String ) {
+ JSONParser parser = new JSONParser();
+ try {
+ obj = parser.parse( (String) obj );
+ } catch (ParseException e) {
+ e.printStackTrace();
+ }
+ return (org.json.simple.JSONArray) obj;
+ }
+ return null;
+ }
+
+ public static Boolean getBooleanFromObject(Object obj) {
+
+ if (obj instanceof String ) {
+ return Boolean.parseBoolean( ((String)obj).trim() );
+ } else if (obj instanceof Boolean) {
+ return (Boolean)obj;
+ }
+
+ return null;
+ }
+
+ /**
+ * Parse a URI String into Name-Value Collection
+ * 쿼리스트링을 분석해서 Map형태로 return해준다.
+ * @param query
+ * @return query string name-value Map.
+ * @throws UnsupportedEncodingException
+ */
+ public static Map splitQuery(String query, String token) throws UnsupportedEncodingException {
+ Map query_pairs = new LinkedHashMap();
+ String[] pairs = query.split(token);
+ for (String pair : pairs) {
+ int idx = pair.indexOf("=");
+ query_pairs.put(URLDecoder.decode(pair.substring(0, idx), "UTF-8"), URLDecoder.decode(pair.substring(idx + 1), "UTF-8"));
+ }
+ return query_pairs;
+ }
+
+
+
+ public static SortedMap getParameterMap(HttpServletRequest request) {
+
+ SortedMap sMap = Collections.synchronizedSortedMap
+ ( new TreeMap(request.getParameterMap()));
+
+ String params = "\n--------------------------------------------------------------\n" +
+ MyUtil.getBASEURL(request) + request.getRequestURI() + " IN:" +
+ "\n--------------------------------------------------------------\n";
+ synchronized(sMap) {
+ for(String key : sMap.keySet()) {
+ String[] value = sMap.get(key);
+ for(int i=0; i sMap = Collections.synchronizedSortedMap
+ ( new TreeMap(request.getParameterMap()));
+
+ String params = "\n--------------------------------------------------------------\n" +
+ MyUtil.getBASEURL(request) + request.getRequestURI() + " IN:" +
+ "\n--------------------------------------------------------------\n";
+ synchronized(sMap) {
+ for(String key : sMap.keySet()) {
+ String[] value = sMap.get(key);
+ for(int i=0; i 1.23
+ * @return
+ * @throws Exception
+ */
+ public static Double floor(String strAmount, int decimalPlace) throws Exception {
+
+ Double dPoint = Double.parseDouble(strAmount);
+
+ String[] arrSplitedDot = strAmount.split("\\.");
+ int nLength = arrSplitedDot.length;
+ if (arrSplitedDot.length == 2) {
+ if (MyUtil.isNumeric(arrSplitedDot[1])) {
+
+ //소수부 끝에 0을 제거해준다.
+ arrSplitedDot[1] = arrSplitedDot[1].replaceAll("0+$", "");
+
+ int nDecimalLength = arrSplitedDot[1].length();
+ if( nDecimalLength >= decimalPlace ) {
+ String strDecimal = "1";
+ for (int i = 0; i < decimalPlace; i++) {
+ strDecimal += "0";
+ }
+ dPoint = Math.floor(dPoint*Long.valueOf(strDecimal)) / Long.valueOf(strDecimal);
+ }
+ }
+ }
+
+ return dPoint;
+ }
+
+
+ /**
+ * days안에는 "월" 또는 "월,수,금" 이런 요일에 대한 한글문자가 들어가고 오늘이 주어진 요일 안에 포함되는지 여부를 알아낸다.
+ *
+ * @param days "월" 또는 "월,수,금'과 같이 요일이 한글로 들어있다.
+ * @return 만약 days에 "월"이 들어가 있고 오늘이 월요일이라면 true를 return한다.
+ */
+ public static Boolean isContainDayOfWeekToday( String days ) {
+
+ // 1. Date 생성 / 현재 날짜
+ Date currentDate = new Date();
+ System.out.println(currentDate);
+
+ // 2. Calendar 생성
+ Calendar calendar = Calendar.getInstance();
+ calendar.setTime(currentDate);
+
+ // 3. 텍스트 요일 구하기 (숫자)
+ int dayOfWeekNumber = calendar.get(Calendar.DAY_OF_WEEK);
+
+ if( dayOfWeekNumber == 1 ) {
+ if( days.indexOf("일") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 2 ) {
+ if( days.indexOf("월") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 3 ) {
+ if( days.indexOf("화") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 4 ) {
+ if( days.indexOf("수") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 5 ) {
+ if( days.indexOf("목") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 6 ) {
+ if( days.indexOf("금") > -1 ) {
+ return true;
+ }
+ } else if( dayOfWeekNumber == 7 ) {
+ if( days.indexOf("토") > -1 ) {
+ return true;
+ }
+ }
+
+ return false;
+ }
+
+ /**
+ * 현재 시각이 timeRange에 명시한 시간대 안에 포함되는지 여부를 return 한다.
+ * @param timeRange 01~14 -> 오전 1시부터 오후 2시를 의미하며 ~ 구분자를 사용한다.
+ * @return 현재 시각이 해당 시간대 내에 포함되면 true를 return 한다.
+ * @throws Exception timeRange이 형식에 맞지 않으면 Exception이 발생한다.
+ */
+ public static Boolean isInTimeRange( String timeRange ) throws Exception {
+
+ String[] arrTimeRange = timeRange.split("~");
+ if( arrTimeRange.length != 2 ) {
+ throw new Exception("timeRange이 형식에 맞지 않습니다.");
+ }
+
+ if( MyUtil.isNumeric(arrTimeRange[0]) == false ) {
+ throw new Exception("timeRange이 형식에 맞지 않습니다 - 1");
+ }
+
+ if( MyUtil.isNumeric(arrTimeRange[1]) == false ) {
+ throw new Exception("timeRange이 형식에 맞지 않습니다 - 1");
+ }
+
+
+ Date currentDate = new Date();
+ // 포맷팅 정의
+ SimpleDateFormat formatter = new SimpleDateFormat("HH");
+ // 포맷팅 적용
+ String formatedNow = formatter.format(currentDate);
+
+ Integer currentHour = MyUtil.getIntegerFromObject( formatedNow );
+ Integer rangeStart = MyUtil.getIntegerFromObject( arrTimeRange[0] );
+ Integer rangeEnd = MyUtil.getIntegerFromObject( arrTimeRange[0] );
+
+ if( rangeStart <= rangeEnd && rangeEnd <= rangeEnd ) {
+ return true;
+ }
+
+ return false;
+ }
+
+ /**
+ * Oracle 11g의 CLOB값을 String 값으로 변환한다.
+ * @param clob
+ * @return
+ * @throws SQLException
+ */
+ public static String ClobToString(java.sql.Clob clob) throws SQLException {
+ String clobData = "";
+ if (clob != null) {
+ java.io.Reader reader = clob.getCharacterStream();
+ java.io.BufferedReader br = new java.io.BufferedReader(reader);
+ StringBuilder sb = new StringBuilder();
+ String line;
+ try {
+ while ((line = br.readLine()) != null) {
+ sb.append(line);
+ sb.append("\n"); // 필요에 따라 줄바꿈 추가
+ }
+ clobData = sb.toString();
+ } catch (java.io.IOException e) {
+ e.printStackTrace();
+ // 오류 처리
+ } finally {
+ try {
+ br.close();
+ reader.close();
+ } catch (java.io.IOException e) {
+ e.printStackTrace();
+ }
+ }
+ }
+ return clobData;
+ }
+
+ // JSONObject를 HashMap으로 변환
+ public static HashMap JSONObjectToHashMap( JSONObject jsonObject ) {
+
+ HashMap params = new HashMap<>();
+ for (Object key : jsonObject.keySet()) {
+ String keyStr = (String) key;
+ Object value = jsonObject.get(keyStr);
+ params.put(keyStr, value);
+ }
+
+ return params;
+ }
+
+ /**
+ * 문자열의 공백을 제거 후 return한다
+ * @param target 공백을 제거할 대상
+ * @return
+ * @throws Exception
+ */
+ public static String removeBlank( Object target ) throws Exception {
+
+ String str = getStringFromObject( target );
+
+ if( str != null ) {
+ str = str.replaceAll("\\s", "");
+ }
+
+ return str;
+ }
+
+ public static String removeBlank( String target ) throws Exception {
+ return removeBlank( (Object) target );
+ }
+
+
+
+ public static String getIpAddress( HttpServletRequest request ) throws Exception {
+ String clientIp = "";
+ clientIp = request.getHeader("X-Forwarded-For");
+
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("Proxy-Client-IP");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("WL-Proxy-Client-IP");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("HTTP_CLIENT_IP");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("HTTP_X_FORWARDED_FOR");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("X-Real-IP");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("X-RealIP");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getHeader("REMOTE_ADDR");
+ }
+ if (clientIp == null || clientIp.length() == 0 || "unknown".equalsIgnoreCase(clientIp)) {
+ clientIp = request.getRemoteAddr();
+ }
+
+ return clientIp;
+ }
+
+
+}
diff --git a/src/main/java/com/geotwo/webserver/core/ServerContext.java b/src/main/java/kr/or/geoinfo/webserver/core/ServerContext.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/ServerContext.java
rename to src/main/java/kr/or/geoinfo/webserver/core/ServerContext.java
index 144186d..8809aa6 100644
--- a/src/main/java/com/geotwo/webserver/core/ServerContext.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/ServerContext.java
@@ -1,22 +1,22 @@
-package com.geotwo.webserver.core;
+package kr.or.geoinfo.webserver.core;
-import com.geotwo.webserver.core.cache.ImgCacheMngr;
-import com.geotwo.webserver.core.coverage.O2DemLayerMngr;
-import com.geotwo.webserver.core.coverage.O2ImgLayerMngr;
-import com.geotwo.webserver.core.coverage.WpsCovStoreMngr;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.Map;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.O2DemLayer;
-import com.geotwo.webserver.core.tile.tms.TMSMngr;
-import com.geotwo.webserver.core.tile.wmts.WMTSMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.GWaveStoreMngr;
-import com.geotwo.webserver.core.vector.JdbcStoreMngr;
-import com.geotwo.webserver.core.vector.ShpStoreMngr;
-import com.geotwo.webserver.core.vector.WpsVecStoreMngr;
+import kr.or.geoinfo.webserver.core.cache.ImgCacheMngr;
+import kr.or.geoinfo.webserver.core.coverage.O2DemLayerMngr;
+import kr.or.geoinfo.webserver.core.coverage.O2ImgLayerMngr;
+import kr.or.geoinfo.webserver.core.coverage.WpsCovStoreMngr;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.Map;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.O2DemLayer;
+import kr.or.geoinfo.webserver.core.tile.tms.TMSMngr;
+import kr.or.geoinfo.webserver.core.tile.wmts.WMTSMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.GWaveStoreMngr;
+import kr.or.geoinfo.webserver.core.vector.JdbcStoreMngr;
+import kr.or.geoinfo.webserver.core.vector.ShpStoreMngr;
+import kr.or.geoinfo.webserver.core.vector.WpsVecStoreMngr;
import java.io.File;
import java.io.IOException;
import java.net.URL;
diff --git a/src/main/java/com/geotwo/webserver/core/ServerInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/ServerInfo.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/ServerInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/ServerInfo.java
index 964ce07..9f5bfee 100644
--- a/src/main/java/com/geotwo/webserver/core/ServerInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/ServerInfo.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core;
+package kr.or.geoinfo.webserver.core;
public class ServerInfo
{
diff --git a/src/main/java/com/geotwo/webserver/core/cache/ImgCacheMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/ImgCacheMngr.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/cache/ImgCacheMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/ImgCacheMngr.java
index 905fa88..7b44472 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/ImgCacheMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/ImgCacheMngr.java
@@ -1,14 +1,14 @@
-package com.geotwo.webserver.core.cache;
+package kr.or.geoinfo.webserver.core.cache;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.cache.ic.CacheFormat;
-import com.geotwo.webserver.core.cache.ic.CacheLevel;
-import com.geotwo.webserver.core.cache.ic.CacheLevelSet;
-import com.geotwo.webserver.core.cache.ic.ImgCacheLayer;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.cache.ic.CacheFormat;
+import kr.or.geoinfo.webserver.core.cache.ic.CacheLevel;
+import kr.or.geoinfo.webserver.core.cache.ic.CacheLevelSet;
+import kr.or.geoinfo.webserver.core.cache.ic.ImgCacheLayer;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/LogCacheManager.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/LogCacheManager.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/cache/LogCacheManager.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/LogCacheManager.java
index d6b753f..3b60789 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/LogCacheManager.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/LogCacheManager.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.cache;
+package kr.or.geoinfo.webserver.core.cache;
-import com.geotwo.webserver.core.cache.util.FileComparator;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.cache.util.FileComparator;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import java.io.File;
import java.util.ArrayList;
import java.util.Collections;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheFormat.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheFormat.java
similarity index 91%
rename from src/main/java/com/geotwo/webserver/core/cache/ic/CacheFormat.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheFormat.java
index 833b49a..3c535f2 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheFormat.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheFormat.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.cache.ic;
+package kr.or.geoinfo.webserver.core.cache.ic;
public class CacheFormat {
int width = 256;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevel.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevel.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevel.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevel.java
index 27ade9d..4b6e1b7 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevel.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevel.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.cache.ic;
+package kr.or.geoinfo.webserver.core.cache.ic;
import java.io.File;
import javax.management.modelmbean.XMLParseException;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevelSet.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevelSet.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevelSet.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevelSet.java
index b876d6e..4657cf1 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/ic/CacheLevelSet.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/CacheLevelSet.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.cache.ic;
+package kr.or.geoinfo.webserver.core.cache.ic;
import java.io.File;
import java.util.TreeMap;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/ic/ImgCacheLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/ImgCacheLayer.java
similarity index 90%
rename from src/main/java/com/geotwo/webserver/core/cache/ic/ImgCacheLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/ic/ImgCacheLayer.java
index 954ff9e..fe5b781 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/ic/ImgCacheLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/ic/ImgCacheLayer.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.cache.ic;
+package kr.or.geoinfo.webserver.core.cache.ic;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.File;
import java.io.IOException;
import org.geotools.geometry.jts.ReferencedEnvelope;
diff --git a/src/main/java/com/geotwo/webserver/core/cache/util/FileComparator.java b/src/main/java/kr/or/geoinfo/webserver/core/cache/util/FileComparator.java
similarity index 83%
rename from src/main/java/com/geotwo/webserver/core/cache/util/FileComparator.java
rename to src/main/java/kr/or/geoinfo/webserver/core/cache/util/FileComparator.java
index d195cc9..a578590 100644
--- a/src/main/java/com/geotwo/webserver/core/cache/util/FileComparator.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/cache/util/FileComparator.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.cache.util;
+package kr.or.geoinfo.webserver.core.cache.util;
import java.io.File;
import java.util.Comparator;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/O2DemLayerMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/O2DemLayerMngr.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/core/coverage/O2DemLayerMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/O2DemLayerMngr.java
index 0488c8b..40ab88a 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/O2DemLayerMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/O2DemLayerMngr.java
@@ -1,15 +1,15 @@
-package com.geotwo.webserver.core.coverage;
+package kr.or.geoinfo.webserver.core.coverage;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerInfo;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerUtil;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.O2DemLayer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerInfo;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.O2DemLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/O2ImgLayerMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/O2ImgLayerMngr.java
similarity index 91%
rename from src/main/java/com/geotwo/webserver/core/coverage/O2ImgLayerMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/O2ImgLayerMngr.java
index 83a6535..d24bcc1 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/O2ImgLayerMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/O2ImgLayerMngr.java
@@ -1,15 +1,15 @@
-package com.geotwo.webserver.core.coverage;
+package kr.or.geoinfo.webserver.core.coverage;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerInfo;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerUtil;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.O2ImgLayer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerInfo;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.O2ImgLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/WpsCovStoreMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/WpsCovStoreMngr.java
similarity index 82%
rename from src/main/java/com/geotwo/webserver/core/coverage/WpsCovStoreMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/WpsCovStoreMngr.java
index ecfdb70..0d26242 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/WpsCovStoreMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/WpsCovStoreMngr.java
@@ -1,15 +1,15 @@
-package com.geotwo.webserver.core.coverage;
+package kr.or.geoinfo.webserver.core.coverage;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerUtil;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.O2DemLayer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.WpsVecStoreMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.O2DemLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.WpsVecStoreMngr;
import java.io.File;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerIndex.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerIndex.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerIndex.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerIndex.java
index c7b559b..ff213d9 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerIndex.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerIndex.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.coverage.o2layer;
+package kr.or.geoinfo.webserver.core.coverage.o2layer;
import com.vividsolutions.jts.geom.Envelope;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerInfo.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerInfo.java
index 9bb89a5..763ca53 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerInfo.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.coverage.o2layer;
+package kr.or.geoinfo.webserver.core.coverage.o2layer;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import java.io.File;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevel.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevel.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevel.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevel.java
index f11df39..6da6ba2 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevel.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevel.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.coverage.o2layer;
+package kr.or.geoinfo.webserver.core.coverage.o2layer;
import com.vividsolutions.jts.geom.Envelope;
import java.io.File;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevelSet.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevelSet.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevelSet.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevelSet.java
index 2fdb86b..dc2f579 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerLevelSet.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerLevelSet.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.coverage.o2layer;
+package kr.or.geoinfo.webserver.core.coverage.o2layer;
-import com.geotwo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
import com.vividsolutions.jts.geom.Envelope;
import java.io.File;
import java.util.TreeMap;
diff --git a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerUtil.java b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerUtil.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerUtil.java
index 9081b51..6c19935 100644
--- a/src/main/java/com/geotwo/webserver/core/coverage/o2layer/O2LayerUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/coverage/o2layer/O2LayerUtil.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.coverage.o2layer;
+package kr.or.geoinfo.webserver.core.coverage.o2layer;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import com.vividsolutions.jts.geom.Envelope;
import java.awt.Graphics2D;
import java.awt.Point;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/FeatureMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/FeatureMngr.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/feature/FeatureMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/FeatureMngr.java
index 553beec..dee9fbb 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/FeatureMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/FeatureMngr.java
@@ -1,16 +1,16 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.init.ConnMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.O2DSMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2SqlDialect;
-import com.geotwo.webserver.core.vector.jdbc.ns.NonSpatialDialect;
-import com.geotwo.webserver.core.vector.jdbc.oracle.OracleDialect;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.init.ConnMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2SqlDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.ns.NonSpatialDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.oracle.OracleDialect;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import java.io.IOException;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/GeometryMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/GeometryMngr.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/core/feature/GeometryMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/GeometryMngr.java
index 2a16764..9484efa 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/GeometryMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/GeometryMngr.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.LineString;
import com.vividsolutions.jts.geom.MultiLineString;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/InsertParams.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/InsertParams.java
similarity index 87%
rename from src/main/java/com/geotwo/webserver/core/feature/InsertParams.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/InsertParams.java
index 111e967..28de417 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/InsertParams.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/InsertParams.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
import java.util.ArrayList;
import org.opengis.filter.identity.FeatureId;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/O2FeatureCollection.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/O2FeatureCollection.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/feature/O2FeatureCollection.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/O2FeatureCollection.java
index 101e208..fb788db 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/O2FeatureCollection.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/O2FeatureCollection.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
import java.io.IOException;
import java.util.Iterator;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/QueryMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/QueryMngr.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/feature/QueryMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/QueryMngr.java
index ec7563d..67a8a5d 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/QueryMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/QueryMngr.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
import com.vividsolutions.jts.geom.Envelope;
import java.io.IOException;
diff --git a/src/main/java/com/geotwo/webserver/core/feature/RefindInsertFeatureCollection.java b/src/main/java/kr/or/geoinfo/webserver/core/feature/RefindInsertFeatureCollection.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/feature/RefindInsertFeatureCollection.java
rename to src/main/java/kr/or/geoinfo/webserver/core/feature/RefindInsertFeatureCollection.java
index 1c9c796..e73d975 100644
--- a/src/main/java/com/geotwo/webserver/core/feature/RefindInsertFeatureCollection.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/feature/RefindInsertFeatureCollection.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.feature;
+package kr.or.geoinfo.webserver.core.feature;
-import com.geotwo.webserver.core.vector.jdbc.oracle.OracleDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.oracle.OracleDialect;
import com.vividsolutions.jts.geom.Geometry;
import java.io.IOException;
import java.util.NoSuchElementException;
diff --git a/src/main/java/com/geotwo/webserver/core/init/ConnMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/init/ConnMngr.java
similarity index 87%
rename from src/main/java/com/geotwo/webserver/core/init/ConnMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/ConnMngr.java
index ae7b9a6..a27fbe7 100644
--- a/src/main/java/com/geotwo/webserver/core/init/ConnMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/ConnMngr.java
@@ -1,14 +1,14 @@
-package com.geotwo.webserver.core.init;
+package kr.or.geoinfo.webserver.core.init;
-import com.geotwo.webserver.core.init.conn.ConnAltibase;
-import com.geotwo.webserver.core.init.conn.ConnJDBC;
-import com.geotwo.webserver.core.init.conn.ConnKairos;
-import com.geotwo.webserver.core.init.conn.ConnMySQL;
-import com.geotwo.webserver.core.init.conn.ConnOracle;
-import com.geotwo.webserver.core.init.conn.ConnPostGIS;
-import com.geotwo.webserver.core.init.conn.ConnTibero;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.ConnAltibase;
+import kr.or.geoinfo.webserver.core.init.conn.ConnJDBC;
+import kr.or.geoinfo.webserver.core.init.conn.ConnKairos;
+import kr.or.geoinfo.webserver.core.init.conn.ConnMySQL;
+import kr.or.geoinfo.webserver.core.init.conn.ConnOracle;
+import kr.or.geoinfo.webserver.core.init.conn.ConnPostGIS;
+import kr.or.geoinfo.webserver.core.init.conn.ConnTibero;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.SQLException;
diff --git a/src/main/java/com/geotwo/webserver/core/init/ServerConfiguration.java b/src/main/java/kr/or/geoinfo/webserver/core/init/ServerConfiguration.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/init/ServerConfiguration.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/ServerConfiguration.java
index c376040..7a379db 100644
--- a/src/main/java/com/geotwo/webserver/core/init/ServerConfiguration.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/ServerConfiguration.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.init;
+package kr.or.geoinfo.webserver.core.init;
import java.io.File;
import java.io.FileNotFoundException;
@@ -15,12 +15,12 @@ import org.xml.sax.Attributes;
import org.xml.sax.SAXException;
import org.xml.sax.helpers.DefaultHandler;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.cache.LogCacheManager;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.RenderMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.cache.LogCacheManager;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.RenderMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
public class ServerConfiguration {
private static ServerConfiguration instance = null;
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnAltibase.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnAltibase.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnAltibase.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnAltibase.java
index de040b5..3d7690d 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnAltibase.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnAltibase.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnAltibase extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnJDBC.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnJDBC.java
similarity index 91%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnJDBC.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnJDBC.java
index 1c3f578..746df11 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnJDBC.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnJDBC.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.SQLException;
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnKairos.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnKairos.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnKairos.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnKairos.java
index 1b6c0fd..a39b399 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnKairos.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnKairos.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnKairos extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnMySQL.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnMySQL.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnMySQL.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnMySQL.java
index 8a46de6..19610f1 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnMySQL.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnMySQL.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnMySQL extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnOracle.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnOracle.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnOracle.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnOracle.java
index 32921f8..f0b30b0 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnOracle.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnOracle.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnOracle extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnPostGIS.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnPostGIS.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnPostGIS.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnPostGIS.java
index 9d97809..a770c33 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnPostGIS.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnPostGIS.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnPostGIS extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/ConnTibero.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnTibero.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/init/conn/ConnTibero.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnTibero.java
index e073ebd..f1722fa 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/ConnTibero.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/ConnTibero.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn;
+package kr.or.geoinfo.webserver.core.init.conn;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.util.HashMap;
public class ConnTibero extends ConnJDBC {
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/util/FieldInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldInfo.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/init/conn/util/FieldInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldInfo.java
index e565f38..3303f71 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/util/FieldInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldInfo.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.init.conn.util;
+package kr.or.geoinfo.webserver.core.init.conn.util;
public class FieldInfo {
private FieldSQL.FieldType type;
diff --git a/src/main/java/com/geotwo/webserver/core/init/conn/util/FieldSQL.java b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldSQL.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/init/conn/util/FieldSQL.java
rename to src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldSQL.java
index 9aab325..594605b 100644
--- a/src/main/java/com/geotwo/webserver/core/init/conn/util/FieldSQL.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/init/conn/util/FieldSQL.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.init.conn.util;
+package kr.or.geoinfo.webserver.core.init.conn.util;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import com.vividsolutions.jts.geom.Geometry;
import java.sql.SQLException;
import java.util.Collections;
diff --git a/src/main/java/com/geotwo/webserver/core/log/LogMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/log/LogMngr.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/log/LogMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/log/LogMngr.java
index 869adba..a1f5edf 100644
--- a/src/main/java/com/geotwo/webserver/core/log/LogMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/log/LogMngr.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.log;
+package kr.or.geoinfo.webserver.core.log;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.File;
import java.util.HashMap;
import java.util.Properties;
diff --git a/src/main/java/com/geotwo/webserver/core/map/LayerFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/map/LayerFactory.java
similarity index 82%
rename from src/main/java/com/geotwo/webserver/core/map/LayerFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/LayerFactory.java
index b9ee57f..5c3ba5e 100644
--- a/src/main/java/com/geotwo/webserver/core/map/LayerFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/LayerFactory.java
@@ -1,13 +1,13 @@
-package com.geotwo.webserver.core.map;
+package kr.or.geoinfo.webserver.core.map;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.GroupLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.O2DemLayer;
-import com.geotwo.webserver.core.map.layer.O2ImgLayer;
-import com.geotwo.webserver.core.map.layer.WCSLayer;
-import com.geotwo.webserver.core.map.layer.WMSLayer;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.GroupLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.O2DemLayer;
+import kr.or.geoinfo.webserver.core.map.layer.O2ImgLayer;
+import kr.or.geoinfo.webserver.core.map.layer.WCSLayer;
+import kr.or.geoinfo.webserver.core.map.layer.WMSLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
public class LayerFactory {
public enum LayerType {
diff --git a/src/main/java/com/geotwo/webserver/core/map/LayerSet.java b/src/main/java/kr/or/geoinfo/webserver/core/map/LayerSet.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/map/LayerSet.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/LayerSet.java
index 562222f..b3dd89f 100644
--- a/src/main/java/com/geotwo/webserver/core/map/LayerSet.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/LayerSet.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.map;
+package kr.or.geoinfo.webserver.core.map;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/src/main/java/com/geotwo/webserver/core/map/Map.java b/src/main/java/kr/or/geoinfo/webserver/core/map/Map.java
similarity index 90%
rename from src/main/java/com/geotwo/webserver/core/map/Map.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/Map.java
index eb330ee..29cdc50 100644
--- a/src/main/java/com/geotwo/webserver/core/map/Map.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/Map.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.map;
+package kr.or.geoinfo.webserver.core.map;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.WpsVecStoreMngr;
-import com.geotwo.webserver.core.vector.o2wps.O2WpsLayerSet;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.WpsVecStoreMngr;
+import kr.or.geoinfo.webserver.core.vector.o2wps.O2WpsLayerSet;
import java.util.ArrayList;
public class Map {
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/FeatureLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/FeatureLayer.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/map/layer/FeatureLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/FeatureLayer.java
index 19a6fd0..52a6894 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/FeatureLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/FeatureLayer.java
@@ -1,12 +1,12 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.RefineRenderStyleVisitor;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.RefineRenderStyleVisitor;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/GroupLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/GroupLayer.java
similarity index 91%
rename from src/main/java/com/geotwo/webserver/core/map/layer/GroupLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/GroupLayer.java
index b4597b6..23a4c66 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/GroupLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/GroupLayer.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
import com.vividsolutions.jts.geom.Envelope;
import java.util.ArrayList;
import org.geotools.geometry.jts.ReferencedEnvelope;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/Layer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/Layer.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/map/layer/Layer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/Layer.java
index 627c3ee..52171fd 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/Layer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/Layer.java
@@ -1,10 +1,10 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import java.util.Date;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.referencing.CRS;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/LinkLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/LinkLayer.java
similarity index 85%
rename from src/main/java/com/geotwo/webserver/core/map/layer/LinkLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/LinkLayer.java
index 86cb9f9..7bae4b0 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/LinkLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/LinkLayer.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.net.URL;
public abstract class LinkLayer extends Layer {
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/O2DemLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2DemLayer.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/core/map/layer/O2DemLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2DemLayer.java
index 1d2e176..43029f6 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/O2DemLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2DemLayer.java
@@ -1,12 +1,12 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.ExtractRasterStyleVisitor;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.ExtractRasterStyleVisitor;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.IOException;
import java.util.Iterator;
import java.util.concurrent.ConcurrentHashMap;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/O2ImgLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2ImgLayer.java
similarity index 83%
rename from src/main/java/com/geotwo/webserver/core/map/layer/O2ImgLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2ImgLayer.java
index f4565d4..2d1c8a8 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/O2ImgLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/O2ImgLayer.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.util.AVList;
import java.io.IOException;
import org.geotools.geometry.jts.ReferencedEnvelope;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/WCSLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/WCSLayer.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/map/layer/WCSLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/WCSLayer.java
index 1eb36ac..419ea8a 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/WCSLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/WCSLayer.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.AVList;
import com.vividsolutions.jts.geom.Envelope;
import java.net.URL;
import java.net.URLConnection;
diff --git a/src/main/java/com/geotwo/webserver/core/map/layer/WMSLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/WMSLayer.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/map/layer/WMSLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/map/layer/WMSLayer.java
index 19343f0..f430b9b 100644
--- a/src/main/java/com/geotwo/webserver/core/map/layer/WMSLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/map/layer/WMSLayer.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.map.layer;
+package kr.or.geoinfo.webserver.core.map.layer;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.AVList;
import com.vividsolutions.jts.geom.Envelope;
import java.net.URL;
import java.net.URLConnection;
diff --git a/src/main/java/com/geotwo/webserver/core/render/ExtractRasterStyleVisitor.java b/src/main/java/kr/or/geoinfo/webserver/core/render/ExtractRasterStyleVisitor.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/render/ExtractRasterStyleVisitor.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/ExtractRasterStyleVisitor.java
index 2b7a60d..e495010 100644
--- a/src/main/java/com/geotwo/webserver/core/render/ExtractRasterStyleVisitor.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/ExtractRasterStyleVisitor.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
import org.geotools.styling.Description;
import org.geotools.styling.Rule;
diff --git a/src/main/java/com/geotwo/webserver/core/render/O2StyleFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/render/O2StyleFactory.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/O2StyleFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/O2StyleFactory.java
index f654136..d3bb418 100644
--- a/src/main/java/com/geotwo/webserver/core/render/O2StyleFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/O2StyleFactory.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
import org.geotools.styling.ChannelSelection;
import org.geotools.styling.ColorMap;
diff --git a/src/main/java/com/geotwo/webserver/core/render/RefineRenderStyleVisitor.java b/src/main/java/kr/or/geoinfo/webserver/core/render/RefineRenderStyleVisitor.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/RefineRenderStyleVisitor.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/RefineRenderStyleVisitor.java
index 6f9d868..a1587be 100644
--- a/src/main/java/com/geotwo/webserver/core/render/RefineRenderStyleVisitor.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/RefineRenderStyleVisitor.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
import java.awt.BasicStroke;
import java.awt.Graphics2D;
diff --git a/src/main/java/com/geotwo/webserver/core/render/RefineStyleVisitor.java b/src/main/java/kr/or/geoinfo/webserver/core/render/RefineStyleVisitor.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/render/RefineStyleVisitor.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/RefineStyleVisitor.java
index 2ed359f..6d69063 100644
--- a/src/main/java/com/geotwo/webserver/core/render/RefineStyleVisitor.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/RefineStyleVisitor.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.Iterator;
diff --git a/src/main/java/com/geotwo/webserver/core/render/RenderMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/render/RenderMngr.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/render/RenderMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/RenderMngr.java
index 2898e02..6c766a6 100644
--- a/src/main/java/com/geotwo/webserver/core/render/RenderMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/RenderMngr.java
@@ -1,27 +1,28 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerLevelSet;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerUtil;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.GroupLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.map.layer.LinkLayer;
-import com.geotwo.webserver.core.map.layer.O2DemLayer;
-import com.geotwo.webserver.core.map.layer.O2ImgLayer;
-import com.geotwo.webserver.core.map.layer.WMSLayer;
-import com.geotwo.webserver.core.render.io.RenderFeatureSource;
-import com.geotwo.webserver.core.render.layer.ExFeatureLayer;
-import com.geotwo.webserver.core.render.layer.ExO2ImgLayer;
-import com.geotwo.webserver.core.render.layer.ExWMSLayer;
-import com.geotwo.webserver.core.render.style.MapStyle;
-import com.geotwo.webserver.core.render.style.label.LabelCacheEx;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.O2DSMngr;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.drilling.inquiry.service.DrillingInquiryService;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerLevelSet;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.GroupLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.map.layer.LinkLayer;
+import kr.or.geoinfo.webserver.core.map.layer.O2DemLayer;
+import kr.or.geoinfo.webserver.core.map.layer.O2ImgLayer;
+import kr.or.geoinfo.webserver.core.map.layer.WMSLayer;
+import kr.or.geoinfo.webserver.core.render.io.RenderFeatureSource;
+import kr.or.geoinfo.webserver.core.render.layer.ExFeatureLayer;
+import kr.or.geoinfo.webserver.core.render.layer.ExO2ImgLayer;
+import kr.or.geoinfo.webserver.core.render.layer.ExWMSLayer;
+import kr.or.geoinfo.webserver.core.render.style.MapStyle;
+import kr.or.geoinfo.webserver.core.render.style.label.LabelCacheEx;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Envelope;
import java.awt.Color;
@@ -74,11 +75,13 @@ import org.opengis.feature.simple.SimpleFeatureType;
import org.opengis.feature.type.Name;
import org.opengis.filter.Filter;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
+import org.springframework.beans.factory.annotation.Autowired;
public class RenderMngr {
static boolean useImageAntialias = true;
static boolean useTextAntialias = true;
static Interpolation interpolationMethod = Interpolation.NN;
static ThreadPoolExecutor RENDERING_POOL;
+
public static BufferedImage productMap(AVList params) throws Exception {
String[] layers = (String[])params.getValue("request.wms.layers");
@@ -145,6 +148,7 @@ public class RenderMngr {
private static void addRenderLayers(ArrayList targetLayers, Layer[] layers, String[] styles, AVList params) throws Exception {
int i = 0;
+ System.out.println("private static void addRenderLayers(ArrayList targetLayers, Layer[] layers, String[] styles, AVList params) throws Exception { layers.length:" + layers.length);
while (i < layers.length) {
RenderMngr.makeNamedLayer(targetLayers, layers[i], styles[i], params);
++i;
@@ -287,7 +291,7 @@ public class RenderMngr {
if (layer instanceof FeatureLayer) {
Filter filter = (Filter)params.getValue("request.wms.filter");
Style layerStyle = ((FeatureLayer)layer).getRenderStyle(styleName);
- RenderMngr.addFeatureLayer(targetLayers, layerStyle, (FeatureLayer)layer, filter);
+ RenderMngr.addFeatureLayer(targetLayers, layerStyle, (FeatureLayer)layer, filter); // 여기를 주석처리하면 쩜이 박히지 않은 이미지만 생성된다.
} else if (layer instanceof GroupLayer) {
GroupLayer groupLayer = (GroupLayer)layer;
Filter filter = (Filter)params.getValue("request.wms.filter");
@@ -359,6 +363,11 @@ public class RenderMngr {
LinkedList styleList = new LinkedList();
for (FeatureTypeStyle fStyle : style.featureTypeStyles()) {
if (fStyle.featureTypeNames().isEmpty()) {
+ System.out.println(
+ "layer.getLayerType(): [" + layer.getLayerType() + "]\n" +
+ "layer.getServerName(): [" + layer.getServerName() + "]\n" +
+ "layer.getSourceName(): [" + layer.getSourceName() + "]\n"
+ );
RenderMngr.addFeatureTypeStyleList(styleList, layer.getLayerType(), layer.getServerName(), layer.getSourceName(), fStyle);
continue;
}
diff --git a/src/main/java/com/geotwo/webserver/core/render/StyleMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/render/StyleMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/render/StyleMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/StyleMngr.java
index 17b5315..d13dc3b 100644
--- a/src/main/java/com/geotwo/webserver/core/render/StyleMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/StyleMngr.java
@@ -1,13 +1,13 @@
-package com.geotwo.webserver.core.render;
+package kr.or.geoinfo.webserver.core.render;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.feature.GeometryMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.render.sld.SLDConfiguration110;
-import com.geotwo.webserver.core.render.sld.SLDParser100;
-import com.geotwo.webserver.core.render.sld.SLDTransformer110;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.feature.GeometryMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.render.sld.SLDConfiguration110;
+import kr.or.geoinfo.webserver.core.render.sld.SLDParser100;
+import kr.or.geoinfo.webserver.core.render.sld.SLDTransformer110;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.awt.AlphaComposite;
import java.awt.BasicStroke;
import java.awt.Color;
diff --git a/src/main/java/com/geotwo/webserver/core/render/io/O2PngWriter.java b/src/main/java/kr/or/geoinfo/webserver/core/render/io/O2PngWriter.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/io/O2PngWriter.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/io/O2PngWriter.java
index 503a8d3..af911d1 100644
--- a/src/main/java/com/geotwo/webserver/core/render/io/O2PngWriter.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/io/O2PngWriter.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.io;
+package kr.or.geoinfo.webserver.core.render.io;
import ar.com.hjg.pngj.FilterType;
import ar.com.hjg.pngj.IImageLine;
diff --git a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureCollection.java b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureCollection.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureCollection.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureCollection.java
index fbf4325..aa4c722 100644
--- a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureCollection.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureCollection.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.io;
+package kr.or.geoinfo.webserver.core.render.io;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Point;
diff --git a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureReader.java b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureReader.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureReader.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureReader.java
index ade3c46..e4e37cb 100644
--- a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureReader.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureReader.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.io;
+package kr.or.geoinfo.webserver.core.render.io;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
@@ -14,6 +14,12 @@ import org.geotools.renderer.ScreenMap;
import org.opengis.feature.simple.SimpleFeature;
import org.opengis.feature.simple.SimpleFeatureType;
+//--- SQL을 얻기 위해 필요한 import ---
+import org.geotools.jdbc.JDBCDataStore;
+import org.geotools.jdbc.JDBCFeatureStore;
+import org.geotools.jdbc.SQLDialect;
+import java.io.StringWriter;
+
class RenderFeatureReader implements FeatureReader {
SimpleFeatureSource source;
diff --git a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureSource.java b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureSource.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureSource.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureSource.java
index a8a7a75..440b910 100644
--- a/src/main/java/com/geotwo/webserver/core/render/io/RenderFeatureSource.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/io/RenderFeatureSource.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.io;
+package kr.or.geoinfo.webserver.core.render.io;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Point;
diff --git a/src/main/java/com/geotwo/webserver/core/render/layer/ExFeatureLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExFeatureLayer.java
similarity index 81%
rename from src/main/java/com/geotwo/webserver/core/render/layer/ExFeatureLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExFeatureLayer.java
index 0aabf7f..4a7ee88 100644
--- a/src/main/java/com/geotwo/webserver/core/render/layer/ExFeatureLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExFeatureLayer.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.layer;
+package kr.or.geoinfo.webserver.core.render.layer;
-import com.geotwo.webserver.core.render.style.MapStyle;
+import kr.or.geoinfo.webserver.core.render.style.MapStyle;
import org.geotools.data.FeatureSource;
import org.geotools.map.FeatureLayer;
import org.geotools.styling.Style;
diff --git a/src/main/java/com/geotwo/webserver/core/render/layer/ExO2ImgLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExO2ImgLayer.java
similarity index 84%
rename from src/main/java/com/geotwo/webserver/core/render/layer/ExO2ImgLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExO2ImgLayer.java
index 0fcd76a..69b1f42 100644
--- a/src/main/java/com/geotwo/webserver/core/render/layer/ExO2ImgLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExO2ImgLayer.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.render.layer;
+package kr.or.geoinfo.webserver.core.render.layer;
-import com.geotwo.webserver.core.coverage.o2layer.O2LayerUtil;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.O2ImgLayer;
-import com.geotwo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.coverage.o2layer.O2LayerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.O2ImgLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
import org.geotools.geometry.jts.ReferencedEnvelope;
diff --git a/src/main/java/com/geotwo/webserver/core/render/layer/ExWMSLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExWMSLayer.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/render/layer/ExWMSLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExWMSLayer.java
index 8c296b7..1f947ef 100644
--- a/src/main/java/com/geotwo/webserver/core/render/layer/ExWMSLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/layer/ExWMSLayer.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.render.layer;
+package kr.or.geoinfo.webserver.core.render.layer;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.LinkLayer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.LinkLayer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.awt.Color;
import java.awt.Graphics2D;
import java.awt.image.BufferedImage;
diff --git a/src/main/java/com/geotwo/webserver/core/render/legend/LegendGraphicBuilder.java b/src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendGraphicBuilder.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/render/legend/LegendGraphicBuilder.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendGraphicBuilder.java
index 1eea59d..08f106d 100644
--- a/src/main/java/com/geotwo/webserver/core/render/legend/LegendGraphicBuilder.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendGraphicBuilder.java
@@ -1,13 +1,13 @@
-package com.geotwo.webserver.core.render.legend;
+package kr.or.geoinfo.webserver.core.render.legend;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.GroupLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.O2DSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.GroupLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.O2DSMngr;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
diff --git a/src/main/java/com/geotwo/webserver/core/render/legend/LegendUtils.java b/src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendUtils.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/legend/LegendUtils.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendUtils.java
index 99e72ba..bc0ebac 100644
--- a/src/main/java/com/geotwo/webserver/core/render/legend/LegendUtils.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/legend/LegendUtils.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.legend;
+package kr.or.geoinfo.webserver.core.render.legend;
import java.awt.Color;
import java.awt.Font;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/CategorizeBinding110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/CategorizeBinding110.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/render/sld/CategorizeBinding110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/CategorizeBinding110.java
index 979d4b5..1013f9b 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/CategorizeBinding110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/CategorizeBinding110.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.awt.Color;
import java.util.List;
import javax.xml.namespace.QName;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/InterpolateBinding110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/InterpolateBinding110.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/render/sld/InterpolateBinding110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/InterpolateBinding110.java
index d14090b..7ea5cf2 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/InterpolateBinding110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/InterpolateBinding110.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.awt.Color;
import java.util.List;
import javax.xml.namespace.QName;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/SLDConfiguration110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDConfiguration110.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/core/render/sld/SLDConfiguration110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDConfiguration110.java
index b9c7549..8b472a4 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/SLDConfiguration110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDConfiguration110.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
-import com.geotwo.webserver.core.render.O2StyleFactory;
+import kr.or.geoinfo.webserver.core.render.O2StyleFactory;
import java.util.Map;
import javax.xml.namespace.QName;
import org.geotools.se.v1_1.SE;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/SLDParser100.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDParser100.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/sld/SLDParser100.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDParser100.java
index 3f3a2c0..3076fff 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/SLDParser100.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDParser100.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
import java.awt.Component;
import java.awt.Graphics;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/SLDTransformer110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDTransformer110.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/sld/SLDTransformer110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDTransformer110.java
index f502935..3a38e1f 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/SLDTransformer110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/SLDTransformer110.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
-import com.geotwo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
import java.awt.image.BufferedImage;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java
index ffb2db9..8a98e9e 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/StyledLayerDescriptorBinding110.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
import java.util.ArrayList;
import java.util.Iterator;
diff --git a/src/main/java/com/geotwo/webserver/core/render/sld/XSBooleanBinding110.java b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/XSBooleanBinding110.java
similarity index 89%
rename from src/main/java/com/geotwo/webserver/core/render/sld/XSBooleanBinding110.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/sld/XSBooleanBinding110.java
index de742b8..5f41081 100644
--- a/src/main/java/com/geotwo/webserver/core/render/sld/XSBooleanBinding110.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/sld/XSBooleanBinding110.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.sld;
+package kr.or.geoinfo.webserver.core.render.sld;
import org.geotools.xml.InstanceComponent;
import org.geotools.xs.bindings.XSBooleanBinding;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/MapStyle.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/MapStyle.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/core/render/style/MapStyle.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/MapStyle.java
index 39b6ac2..31f0838 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/MapStyle.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/MapStyle.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.style;
+package kr.or.geoinfo.webserver.core.render.style;
-import com.geotwo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
import org.geotools.styling.StyleImpl;
public class MapStyle extends StyleImpl {
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/O2WellKnownMarkFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/O2WellKnownMarkFactory.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/core/render/style/O2WellKnownMarkFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/O2WellKnownMarkFactory.java
index 3950510..6f2ecdc 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/O2WellKnownMarkFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/O2WellKnownMarkFactory.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style;
+package kr.or.geoinfo.webserver.core.render.style;
import java.awt.Graphics2D;
import java.awt.Shape;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheEx.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheEx.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheEx.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheEx.java
index 0999f65..c99b442 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheEx.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheEx.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.render.style.label.util.AWTLabelUtil;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.render.style.label.util.AWTLabelUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheItemEx.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheItemEx.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheItemEx.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheItemEx.java
index dfc18de..aace1dd 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelCacheItemEx.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelCacheItemEx.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
import org.geotools.geometry.jts.LiteShape2;
import org.geotools.renderer.label.LabelCacheItem;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelInfo.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/LabelInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelInfo.java
index 46c1d5b..0afd926 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelInfo.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Polygon;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelPainterEx.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelPainterEx.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/LabelPainterEx.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelPainterEx.java
index 93b74ed..f5aa162 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/LabelPainterEx.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/LabelPainterEx.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Geometry;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/TextStyle2DEx.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TextStyle2DEx.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/TextStyle2DEx.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TextStyle2DEx.java
index b0e6ad1..0a32dbd 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/TextStyle2DEx.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TextStyle2DEx.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
import com.vividsolutions.jts.algorithm.MinimumDiameter;
import com.vividsolutions.jts.geom.Coordinate;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/TransformedIconEx.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TransformedIconEx.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/TransformedIconEx.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TransformedIconEx.java
index b082ae5..e98723e 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/TransformedIconEx.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/TransformedIconEx.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label;
+package kr.or.geoinfo.webserver.core.render.style.label;
import java.awt.Component;
import java.awt.Graphics;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/util/AWTLabelUtil.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/AWTLabelUtil.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/util/AWTLabelUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/AWTLabelUtil.java
index 5764c28..2924ebc 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/util/AWTLabelUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/AWTLabelUtil.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.render.style.label.util;
+package kr.or.geoinfo.webserver.core.render.style.label.util;
-import com.geotwo.webserver.core.render.style.label.LabelInfo;
+import kr.or.geoinfo.webserver.core.render.style.label.LabelInfo;
import java.awt.geom.AffineTransform;
import java.awt.geom.GeneralPath;
import java.awt.geom.Line2D;
diff --git a/src/main/java/com/geotwo/webserver/core/render/style/label/util/KLISLabelUtil.java b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/KLISLabelUtil.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/render/style/label/util/KLISLabelUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/KLISLabelUtil.java
index 784b2b2..35cd080 100644
--- a/src/main/java/com/geotwo/webserver/core/render/style/label/util/KLISLabelUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/render/style/label/util/KLISLabelUtil.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.render.style.label.util;
+package kr.or.geoinfo.webserver.core.render.style.label.util;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.Polygon;
diff --git a/src/main/java/kr/or/geoinfo/webserver/core/service/AbstractService.java b/src/main/java/kr/or/geoinfo/webserver/core/service/AbstractService.java
new file mode 100644
index 0000000..a8870e1
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/webserver/core/service/AbstractService.java
@@ -0,0 +1,29 @@
+package kr.or.geoinfo.webserver.core.service;
+
+import java.io.IOException;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+public abstract class AbstractService extends HttpServlet {
+ private static final long serialVersionUID = 2014061020172321L;
+
+ public abstract Object parseQuery(HttpServletRequest paramHttpServletRequest) throws Exception;
+
+ public abstract String doProcess(String paramString);
+
+ public void service(ServletRequest arg0, ServletResponse arg1) throws ServletException, IOException {
+ super.service(arg0, arg1);
+ }
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doGet(req, resp);
+ }
+
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doPost(req, resp);
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/geotwo/webserver/core/service/InitServer.java b/src/main/java/kr/or/geoinfo/webserver/core/service/InitServer.java
similarity index 79%
rename from src/main/java/com/geotwo/webserver/core/service/InitServer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/service/InitServer.java
index b6d35e9..c9a5071 100644
--- a/src/main/java/com/geotwo/webserver/core/service/InitServer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/service/InitServer.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.service;
+package kr.or.geoinfo.webserver.core.service;
-import com.geotwo.webserver.core.ServerInfo;
-import com.geotwo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.ServerInfo;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;
diff --git a/src/main/java/com/geotwo/webserver/core/service/ServerInfoService.java b/src/main/java/kr/or/geoinfo/webserver/core/service/ServerInfoService.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/service/ServerInfoService.java
rename to src/main/java/kr/or/geoinfo/webserver/core/service/ServerInfoService.java
index 0ea79e1..b7801fd 100644
--- a/src/main/java/com/geotwo/webserver/core/service/ServerInfoService.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/service/ServerInfoService.java
@@ -1,13 +1,13 @@
-package com.geotwo.webserver.core.service;
+package kr.or.geoinfo.webserver.core.service;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.ServerInfo;
-import com.geotwo.webserver.core.cache.ImgCacheMngr;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.plugin.ows.util.PluginUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.ServerInfo;
+import kr.or.geoinfo.webserver.core.cache.ImgCacheMngr;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.plugin.ows.util.PluginUtil;
import java.io.IOException;
import java.io.OutputStream;
import java.util.HashMap;
diff --git a/src/main/java/kr/or/geoinfo/webserver/core/service/Service.java b/src/main/java/kr/or/geoinfo/webserver/core/service/Service.java
new file mode 100644
index 0000000..509df5d
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/webserver/core/service/Service.java
@@ -0,0 +1,182 @@
+package kr.or.geoinfo.webserver.core.service;
+
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.ServerInfo;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.plugin.ows.util.PluginUtil;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.OutputStream;
+import java.text.DecimalFormat;
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServlet;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import javax.xml.parsers.DocumentBuilder;
+import javax.xml.parsers.DocumentBuilderFactory;
+import javax.xml.parsers.ParserConfigurationException;
+import javax.xml.transform.Transformer;
+import javax.xml.transform.TransformerFactory;
+import javax.xml.transform.dom.DOMSource;
+import javax.xml.transform.stream.StreamResult;
+import org.w3c.dom.Document;
+import org.w3c.dom.Element;
+
+public class Service extends AbstractService {
+ private static final long serialVersionUID = 2014061008205121L;
+
+ private static final int SLEEP_TIME = 1000;
+
+ private static final int MAX_SLEEP_TIME = 20000;
+
+ public String parseQuery(HttpServletRequest req) throws Exception {
+ return null;
+ }
+
+ public String doProcess(String str) {
+ return null;
+ }
+
+ public void service(ServletRequest req, ServletResponse resp) throws ServletException, IOException {
+ req.setCharacterEncoding("UTF-8");
+ String rootPath = ((HttpServletRequest) req).getContextPath();
+ String serviceName = ((HttpServletRequest) req).getRequestURI().replace(rootPath, "");
+ while (serviceName.endsWith("/"))
+ serviceName = serviceName.substring(0, serviceName.length() - 1);
+ long reqId = System.currentTimeMillis();
+ if (((HttpServletRequest) req).getMethod().equalsIgnoreCase("GET")) {
+ LogMngr.getInstance().reqInfo("[REQUEST]",
+ "[" + reqId + "] GET, From " + PluginUtil.getClientIP((HttpServletRequest) req) +
+ " To " + ((serviceName.length() == 0) ? "/" : serviceName) + " , Request : " + ((HttpServletRequest) req).getQueryString());
+ } else {
+ LogMngr.getInstance().reqInfo("[REQUEST]",
+ "[" + reqId + "] POST, From " + PluginUtil.getClientIP((HttpServletRequest) req) +
+ " To " + ((serviceName.length() == 0) ? "/" : serviceName) + " , Request : " + ((HttpServletRequest) req).getQueryString());
+ }
+ if (serviceName.length() == 0) {
+ RequestDispatcher dispatcher = req.getRequestDispatcher("index.html");
+ dispatcher.forward(req, resp);
+ return;
+ }
+ if (isFileService(serviceName)) {
+ File file = new File(getServletContext().getRealPath(serviceName));
+ writeFileResponse(resp, file);
+ return;
+ }
+ HttpServlet service = ServiceMngr.getService(serviceName);
+ if (service != null) {
+ if (service instanceof ServerInfoService) {
+ service.service(req, resp);
+ } else if (ServerInfo.getInstance().isStarted()) {
+ if (ServerInfo.getInstance().isReStarting()) {
+ long sleepTile = System.currentTimeMillis();
+ while (true) {
+ if (System.currentTimeMillis() - sleepTile > 20000L) {
+ writeFailResponse(resp, "O2Map Web is busy to restart. Waiting time for request has been exceeded. [20/sec]");
+ break;
+ }
+ if (!ServerInfo.getInstance().isReStarting()) {
+ service.service(req, resp);
+ break;
+ }
+ try {
+ Thread.sleep(1000L);
+ } catch (InterruptedException interruptedException) {}
+ }
+ } else {
+ service.service(req, resp);
+ }
+ } else {
+ writeFailResponse(resp, "O2Map Web is not ready. Please check up server configurations and restart server.");
+ }
+ } else {
+ writeFailResponse(resp, "Service [" + serviceName + "] is unregistered Service on O2Map Web.");
+ }
+ LogMngr.getInstance().reqInfo("[RESPONSE]",
+ "[" + reqId + "] is Finish." +
+
+ "Time : " + (new DecimalFormat(".##")).format((System.currentTimeMillis() - reqId) / 1000.0D) + "/sec");
+ }
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doGet(req, resp);
+ }
+
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ super.doPost(req, resp);
+ }
+
+ private boolean isFileService(String uri) {
+ try {
+ File file = new File(getServletContext().getRealPath(uri));
+ if (file.exists())
+ return true;
+ } catch (Exception exception) {}
+ return false;
+ }
+
+ private void writeFileResponse(ServletResponse resp, File file) {
+ try {
+ int length = 0;
+ ServletOutputStream outStream = resp.getOutputStream();
+ String mimetype = getServletContext().getMimeType(file.getAbsolutePath());
+ if (mimetype == null)
+ mimetype = "application/octet-stream";
+ resp.setContentType(mimetype);
+ resp.setContentLength((int) file.length());
+ byte[] byteBuffer = new byte[1024];
+ FileInputStream in = new FileInputStream(file);
+ while (in != null && (length = in.read(byteBuffer)) != -1)
+ outStream.write(byteBuffer, 0, length);
+ in.close();
+ outStream.close();
+ } catch (FileNotFoundException e) {
+ LogMngr.getInstance().logError("[SERVICE]", "Request file not found. :: " + e.getMessage());
+ } catch (IOException e) {
+ LogMngr.getInstance().logError("[SERVICE]", "Can't make response output stream. :: " + e.getMessage());
+ }
+ }
+
+ private void writeFailResponse(ServletResponse resp, String msg) {
+ try {
+ LogMngr.getInstance().logError("[SERVICE]", msg);
+ Document doc = getFailDocument(msg);
+ Transformer xformer = TransformerFactory.newInstance().newTransformer();
+ if (ServerContext.getDocIndent().intValue() > 0) {
+ xformer.setOutputProperty("indent", "yes");
+ xformer.setOutputProperty("{http://xml.apache.org/xslt}indent-amount", ServerContext.getDocIndent().toString());
+ }
+ resp.setContentType("text/xml; charset=UTF-8");
+ xformer.transform(new DOMSource(doc), new StreamResult((OutputStream) resp.getOutputStream()));
+ } catch (Exception e) {
+ LogMngr.getInstance().logError("[SERVICE]", "Do not create XML : " + Service.class + " / " + e.getMessage());
+ }
+ }
+
+ private static Document getFailDocument(String msg) throws ParserConfigurationException {
+ DocumentBuilderFactory docFactory = DocumentBuilderFactory.newInstance();
+ DocumentBuilder docBuilder = docFactory.newDocumentBuilder();
+ Document doc = docBuilder.newDocument();
+ Element rootElement = doc.createElement("SERVER");
+ doc.appendChild(rootElement);
+ Element result = doc.createElement("RESULT");
+ result.appendChild(doc.createTextNode("Fail"));
+ rootElement.appendChild(result);
+ Element errorMessage = doc.createElement("INFO");
+ errorMessage.appendChild(doc.createTextNode(msg));
+ rootElement.appendChild(errorMessage);
+ return doc;
+ }
+
+ public void destroy() {
+ super.destroy();
+ ServerConfiguration.getInstance().stopServer();
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/geotwo/webserver/core/service/ServiceMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/service/ServiceMngr.java
similarity index 70%
rename from src/main/java/com/geotwo/webserver/core/service/ServiceMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/service/ServiceMngr.java
index 3902193..705dc2e 100644
--- a/src/main/java/com/geotwo/webserver/core/service/ServiceMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/service/ServiceMngr.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.service;
+package kr.or.geoinfo.webserver.core.service;
-import com.geotwo.webserver.core.ServerInfo;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.ServerInfo;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import java.util.ArrayList;
import java.util.List;
import java.util.concurrent.ConcurrentHashMap;
@@ -59,20 +59,8 @@ public class ServiceMngr {
LogMngr.getInstance().logInfo("[SERVICE]", "======================================");
LogMngr.getInstance().logDebug("[SERVICE]", "Exist Services clear all");
ServiceMngr.clearService();
- ServiceMngr.createService("/serverinfo", "geoinfo.map.myMap.ServerInfoService");
if (ServerInfo.getInstance().isStarted()) {
- ServiceMngr.createService("/service", "geoinfo.map.myMap.ServicesService");
- ServiceMngr.createService("/drilling/map/start.do", "com.geotwo.webserver.plugin.ows.service.WMSService");
- ServiceMngr.createService("/drilling/map/wms.do", "com.geotwo.webserver.plugin.ows.service.WMSService");
- ServiceMngr.createService("/services/wms", "com.geotwo.webserver.plugin.ows.service.WMSService");
- ServiceMngr.createService("/services/wfs", "com.geotwo.webserver.plugin.ows.service.WFSService");
- ServiceMngr.createService("/services/wcs", "com.geotwo.webserver.plugin.ows.service.WCSService");
- ServiceMngr.createService("/services/wps", "com.geotwo.webserver.plugin.ows.service.WPSService");
- ServiceMngr.createService("/services/wmts", "com.geotwo.webserver.plugin.ows.service.WMTSService");
- ServiceMngr.createService("/services/tms", "com.geotwo.webserver.plugin.ows.service.TMSService");
- ServiceMngr.createService("/services/uwes", "com.geotwo.webserver.plugin.uwes.service.UWESService");
- ServiceMngr.createService("/services/o2wps", "com.geotwo.webserver.plugin.o2wps.service.O2WPSService");
- ServiceMngr.createService("/services/icache", "com.geotwo.webserver.plugin.ows.service.ImgCacheService");
+ ServiceMngr.createService("/services/wms", "kr.or.geoinfo.webserver.plugin.ows.service.WMSService");
}
LogMngr.getInstance().logInfo("[SERVICE]", "");
LogMngr.getInstance().logInfo("[SERVER]", "=================================");
diff --git a/src/main/java/com/geotwo/webserver/core/tile/tms/TMSInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSInfo.java
similarity index 90%
rename from src/main/java/com/geotwo/webserver/core/tile/tms/TMSInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSInfo.java
index 53bb686..c679246 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/tms/TMSInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSInfo.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.tile.tms;
+package kr.or.geoinfo.webserver.core.tile.tms;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.File;
public class TMSInfo {
diff --git a/src/main/java/com/geotwo/webserver/core/tile/tms/TMSMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/tile/tms/TMSMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSMngr.java
index 5222e37..72e2459 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/tms/TMSMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/tms/TMSMngr.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.tile.tms;
+package kr.or.geoinfo.webserver.core.tile.tms;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrix.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrix.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrix.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrix.java
index 8d875d5..2147bc7 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrix.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrix.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.tile.wmts;
+package kr.or.geoinfo.webserver.core.tile.wmts;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.GeometryFactory;
diff --git a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixRule.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixRule.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixRule.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixRule.java
index f6869ce..bdf962e 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixRule.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixRule.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.tile.wmts;
+package kr.or.geoinfo.webserver.core.tile.wmts;
-import com.geotwo.webserver.core.tile.wmts.TileMatrix;
+import kr.or.geoinfo.webserver.core.tile.wmts.TileMatrix;
import java.io.File;
public class TileMatrixRule {
diff --git a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixSet.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixSet.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixSet.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixSet.java
index 357c3d6..413f3bc 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/wmts/TileMatrixSet.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/TileMatrixSet.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.tile.wmts;
+package kr.or.geoinfo.webserver.core.tile.wmts;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
diff --git a/src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSLayer.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSLayer.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSLayer.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSLayer.java
index 8650287..433b1e0 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSLayer.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSLayer.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.tile.wmts;
+package kr.or.geoinfo.webserver.core.tile.wmts;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import org.geotools.geometry.jts.ReferencedEnvelope;
public class WMTSLayer {
diff --git a/src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSMngr.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSMngr.java
index 2dd6872..c3a47e7 100644
--- a/src/main/java/com/geotwo/webserver/core/tile/wmts/WMTSMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/tile/wmts/WMTSMngr.java
@@ -1,10 +1,10 @@
-package com.geotwo.webserver.core.tile.wmts;
+package kr.or.geoinfo.webserver.core.tile.wmts;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import java.io.File;
import java.io.FilenameFilter;
import java.util.ArrayList;
diff --git a/src/main/java/com/geotwo/webserver/core/util/AVList.java b/src/main/java/kr/or/geoinfo/webserver/core/util/AVList.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/util/AVList.java
rename to src/main/java/kr/or/geoinfo/webserver/core/util/AVList.java
index ad87bab..57d81f1 100644
--- a/src/main/java/com/geotwo/webserver/core/util/AVList.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/util/AVList.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.util;
+package kr.or.geoinfo.webserver.core.util;
import java.awt.Color;
import java.net.URL;
diff --git a/src/main/java/com/geotwo/webserver/core/util/EncryptUtil.java b/src/main/java/kr/or/geoinfo/webserver/core/util/EncryptUtil.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/util/EncryptUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/core/util/EncryptUtil.java
index f027913..aaea1cb 100644
--- a/src/main/java/com/geotwo/webserver/core/util/EncryptUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/util/EncryptUtil.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.util;
+package kr.or.geoinfo.webserver.core.util;
import java.io.IOException;
import java.io.UnsupportedEncodingException;
diff --git a/src/main/java/com/geotwo/webserver/core/util/ServerUtil.java b/src/main/java/kr/or/geoinfo/webserver/core/util/ServerUtil.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/util/ServerUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/core/util/ServerUtil.java
index 81832b1..a949191 100644
--- a/src/main/java/com/geotwo/webserver/core/util/ServerUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/util/ServerUtil.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.util;
+package kr.or.geoinfo.webserver.core.util;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import com.vividsolutions.jts.geom.Envelope;
import java.awt.Color;
import java.awt.Rectangle;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/GWaveStoreMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/GWaveStoreMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/GWaveStoreMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/GWaveStoreMngr.java
index d530896..e84f113 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/GWaveStoreMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/GWaveStoreMngr.java
@@ -1,15 +1,15 @@
-package com.geotwo.webserver.core.vector;
+package kr.or.geoinfo.webserver.core.vector;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.geowave.GWaveLayerInfo;
-import com.geotwo.webserver.core.vector.geowave.GeoWaveDataStore;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.geowave.GWaveLayerInfo;
+import kr.or.geoinfo.webserver.core.vector.geowave.GeoWaveDataStore;
import com.geowave.drvier.GWDriver;
import com.geowave.vectordrvier.GWVectorDriver;
import java.io.BufferedReader;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/JdbcStoreMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/JdbcStoreMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/JdbcStoreMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/JdbcStoreMngr.java
index 03d1e52..bafa155 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/JdbcStoreMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/JdbcStoreMngr.java
@@ -1,17 +1,17 @@
-package com.geotwo.webserver.core.vector;
+package kr.or.geoinfo.webserver.core.vector;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.init.ConnMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.EncryptUtil;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.init.ConnMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.EncryptUtil;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/O2DSMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/O2DSMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/O2DSMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/O2DSMngr.java
index 4f2ab60..0faa049 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/O2DSMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/O2DSMngr.java
@@ -1,10 +1,10 @@
-package com.geotwo.webserver.core.vector;
+package kr.or.geoinfo.webserver.core.vector;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.geowave.GeoWaveDataStore;
-import com.geotwo.webserver.core.vector.memory.O2SpatialIndexFeatureCollection;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.geowave.GeoWaveDataStore;
+import kr.or.geoinfo.webserver.core.vector.memory.O2SpatialIndexFeatureCollection;
import java.io.IOException;
import java.util.Collections;
import java.util.HashMap;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/ShpStoreMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/ShpStoreMngr.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/vector/ShpStoreMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/ShpStoreMngr.java
index 986236b..b391f4e 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/ShpStoreMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/ShpStoreMngr.java
@@ -1,15 +1,15 @@
-package com.geotwo.webserver.core.vector;
+package kr.or.geoinfo.webserver.core.vector;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.shape.ShpIndexMngr;
-import com.geotwo.webserver.core.vector.shape.ShpLayerInfo;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.shape.ShpIndexMngr;
+import kr.or.geoinfo.webserver.core.vector.shape.ShpLayerInfo;
import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/WpsVecStoreMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/WpsVecStoreMngr.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/WpsVecStoreMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/WpsVecStoreMngr.java
index 32abc53..16bfbb5 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/WpsVecStoreMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/WpsVecStoreMngr.java
@@ -1,19 +1,19 @@
-package com.geotwo.webserver.core.vector;
+package kr.or.geoinfo.webserver.core.vector;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.init.ConnMngr;
-import com.geotwo.webserver.core.init.ServerConfiguration;
-import com.geotwo.webserver.core.init.conn.util.FieldInfo;
-import com.geotwo.webserver.core.init.conn.util.FieldSQL;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
-import com.geotwo.webserver.core.vector.shape.ShpIndexMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.init.ConnMngr;
+import kr.or.geoinfo.webserver.core.init.ServerConfiguration;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldInfo;
+import kr.or.geoinfo.webserver.core.init.conn.util.FieldSQL;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.vector.shape.ShpIndexMngr;
import java.io.File;
import java.io.FilenameFilter;
import java.io.IOException;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/crs/CRSMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/CRSMngr.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/vector/crs/CRSMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/crs/CRSMngr.java
index ef04604..6b41488 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/crs/CRSMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/CRSMngr.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.vector.crs;
+package kr.or.geoinfo.webserver.core.vector.crs;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.Map;
-import com.geotwo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.Map;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
import java.awt.RenderingHints;
import java.util.Iterator;
import org.geotools.factory.GeoTools;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSFactory.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSFactory.java
index 8251964..e8d63af 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSFactory.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.vector.crs;
+package kr.or.geoinfo.webserver.core.vector.crs;
-import com.geotwo.webserver.core.init.ConnMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.init.ConnMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSOverrideFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSOverrideFactory.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSOverrideFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSOverrideFactory.java
index 016c3bb..77928cc 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/crs/O2CRSOverrideFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/crs/O2CRSOverrideFactory.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.vector.crs;
+package kr.or.geoinfo.webserver.core.vector.crs;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
import java.io.BufferedWriter;
import java.io.File;
import java.io.FileWriter;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/geowave/GWaveLayerInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GWaveLayerInfo.java
similarity index 90%
rename from src/main/java/com/geotwo/webserver/core/vector/geowave/GWaveLayerInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GWaveLayerInfo.java
index 6d6684c..5b2e1a4 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/geowave/GWaveLayerInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GWaveLayerInfo.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.vector.geowave;
+package kr.or.geoinfo.webserver.core.vector.geowave;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
public class GWaveLayerInfo {
private boolean activate = false;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveDataStore.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveDataStore.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveDataStore.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveDataStore.java
index 796cfbd..3480cb1 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveDataStore.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveDataStore.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.core.vector.geowave;
+package kr.or.geoinfo.webserver.core.vector.geowave;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
import com.geowave.vectordrvier.GWVectorDriver;
import java.io.IOException;
import java.util.ArrayList;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureReader.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureReader.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureReader.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureReader.java
index 25e950a..658101a 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureReader.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureReader.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.geowave;
+package kr.or.geoinfo.webserver.core.vector.geowave;
import com.geowave.vectordrvier.GWVectorDriver;
import com.geowave.vectordrvier.GWVectorQuery;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureSource.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureSource.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureSource.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureSource.java
index 8d5972a..9b30007 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/geowave/GeoWaveFeatureSource.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/geowave/GeoWaveFeatureSource.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.geowave;
+package kr.or.geoinfo.webserver.core.vector.geowave;
import com.geowave.metadata.FeatureColumnInfo;
import com.geowave.vectordrvier.GWVectorDriver;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSFactory.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSFactory.java
index 7209270..61c2be0 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSFactory.java
@@ -1,12 +1,12 @@
-package com.geotwo.webserver.core.vector.jdbc;
+package kr.or.geoinfo.webserver.core.vector.jdbc;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.init.ConnMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.jdbc.ns.NonSpatialDialect;
-import com.geotwo.webserver.core.vector.jdbc.oracle.OracleDialect;
-import com.geotwo.webserver.core.vector.jdbc.simple.SimpleDialect;
-import com.geotwo.webserver.core.vector.jdbc.simple.SimpleSql;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.init.ConnMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.ns.NonSpatialDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.oracle.OracleDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.simple.SimpleDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.simple.SimpleSql;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java
index b0b2674..1db8efc 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2DSPrimaryKeyFinder.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.vector.jdbc;
+package kr.or.geoinfo.webserver.core.vector.jdbc;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import java.sql.Connection;
import java.sql.DatabaseMetaData;
import java.sql.ResultSet;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2GeometryTypeMap.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2GeometryTypeMap.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/O2GeometryTypeMap.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2GeometryTypeMap.java
index 0ae5f66..7b113e7 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2GeometryTypeMap.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2GeometryTypeMap.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc;
+package kr.or.geoinfo.webserver.core.vector.jdbc;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryCollection;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2SqlDialect.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2SqlDialect.java
similarity index 87%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/O2SqlDialect.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2SqlDialect.java
index 9f17e31..b81f97a 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/O2SqlDialect.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/O2SqlDialect.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc;
+package kr.or.geoinfo.webserver.core.vector.jdbc;
import java.sql.Connection;
import java.util.List;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/WKBAttributeIO.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/WKBAttributeIO.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/WKBAttributeIO.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/WKBAttributeIO.java
index cb2a282..fd75509 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/WKBAttributeIO.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/WKBAttributeIO.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc;
+package kr.or.geoinfo.webserver.core.vector.jdbc;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java
index 3f10b5e..3badd8c 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialDialect.java
@@ -1,11 +1,11 @@
-package com.geotwo.webserver.core.vector.jdbc.ns;
+package kr.or.geoinfo.webserver.core.vector.jdbc.ns;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
-import com.geotwo.webserver.core.vector.jdbc.O2GeometryTypeMap;
-import com.geotwo.webserver.core.vector.jdbc.O2SqlDialect;
-import com.geotwo.webserver.core.vector.jdbc.WKBAttributeIO;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2GeometryTypeMap;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2SqlDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.WKBAttributeIO;
import com.tmax.tibero.jdbc.TbBlob;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java
index 5a5b249..b44791d 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/ns/NonSpatialFilterToSQL.java
@@ -1,9 +1,9 @@
-package com.geotwo.webserver.core.vector.jdbc.ns;
+package kr.or.geoinfo.webserver.core.vector.jdbc.ns;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import com.vividsolutions.jts.geom.Envelope;
import java.sql.Connection;
import java.sql.ResultSet;
@@ -125,7 +125,7 @@ public class NonSpatialFilterToSQL extends PreparedFilterToSQL {
try {
ArrayList layers = ServerContext.getMap().getAllLayers();
for (Layer layer : layers) {
- if (!(layer instanceof com.geotwo.webserver.core.map.layer.FeatureLayer))
+ if (!(layer instanceof kr.or.geoinfo.webserver.core.map.layer.FeatureLayer))
continue;
if (layer.getServerName().equalsIgnoreCase(this.dsDialectNS.serverName) &&
layer.getSourceName().equalsIgnoreCase(this.featureType.getTypeName()))
@@ -152,7 +152,7 @@ public class NonSpatialFilterToSQL extends PreparedFilterToSQL {
try {
ArrayList layers = ServerContext.getMap().getAllLayers();
for (Layer layer : layers) {
- if (!(layer instanceof com.geotwo.webserver.core.map.layer.FeatureLayer))
+ if (!(layer instanceof kr.or.geoinfo.webserver.core.map.layer.FeatureLayer))
continue;
if (layer.getSourceName().equalsIgnoreCase(typeName))
return layer.getCRS();
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleDialect.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleDialect.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleDialect.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleDialect.java
index 461bd5f..51fff26 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleDialect.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleDialect.java
@@ -1,11 +1,11 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
-import com.geotwo.webserver.core.vector.jdbc.O2GeometryTypeMap;
-import com.geotwo.webserver.core.vector.jdbc.O2SqlDialect;
-import com.geotwo.webserver.core.vector.jdbc.oracle.sdo.GeometryConverter;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2GeometryTypeMap;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2SqlDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo.GeometryConverter;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.CoordinateSequence;
import com.vividsolutions.jts.geom.Envelope;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java
index ee52f41..4db3a03 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/OracleFilterToSQL.java
@@ -1,10 +1,10 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle;
//thkim 완전히 검증됨
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.vector.jdbc.oracle.OracleDialect;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.vector.jdbc.oracle.OracleDialect;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.Polygon;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java
index 4e3ccff..5618edd 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/AttributeList.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import java.lang.reflect.Array;
import java.util.AbstractList;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java
index 5178acf..3e715a5 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccess.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import com.vividsolutions.jts.geom.CoordinateSequence;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java
similarity index 82%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java
index ba40ea8..3d73843 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/CoordinateAccessFactory.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import com.vividsolutions.jts.geom.CoordinateSequenceFactory;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java
index 1d86af0..335a8bc 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/Coordinates.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.CoordinateSequence;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java
index 1506859..02b612d 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/GeometryConverter.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import com.vividsolutions.jts.geom.Coordinate;
import com.vividsolutions.jts.geom.CoordinateList;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java
index f30a814..5545bc7 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/OrdinateList.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import java.util.AbstractList;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/SDO.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/SDO.java
similarity index 99%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/SDO.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/SDO.java
index 1cca4a5..c4507f7 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/oracle/sdo/SDO.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/oracle/sdo/SDO.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.oracle.sdo;
+package kr.or.geoinfo.webserver.core.vector.jdbc.oracle.sdo;
import com.vividsolutions.jts.algorithm.RobustCGAlgorithms;
import com.vividsolutions.jts.geom.Coordinate;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleDialect.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleDialect.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleDialect.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleDialect.java
index 312eafe..cc353b8 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleDialect.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleDialect.java
@@ -1,11 +1,11 @@
-package com.geotwo.webserver.core.vector.jdbc.simple;
+package kr.or.geoinfo.webserver.core.vector.jdbc.simple;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.jdbc.O2DSFactory;
-import com.geotwo.webserver.core.vector.jdbc.O2GeometryTypeMap;
-import com.geotwo.webserver.core.vector.jdbc.O2SqlDialect;
-import com.geotwo.webserver.core.vector.jdbc.WKBAttributeIO;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2DSFactory;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2GeometryTypeMap;
+import kr.or.geoinfo.webserver.core.vector.jdbc.O2SqlDialect;
+import kr.or.geoinfo.webserver.core.vector.jdbc.WKBAttributeIO;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.GeometryFactory;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java
index c12db0f..a69849a 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleFilterToSQL.java
@@ -1,12 +1,12 @@
-package com.geotwo.webserver.core.vector.jdbc.simple;
+package kr.or.geoinfo.webserver.core.vector.jdbc.simple;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.core.vector.jdbc.simple.SimpleDialect;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.vector.jdbc.simple.SimpleDialect;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.Polygon;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleSql.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleSql.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleSql.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleSql.java
index f41cf8a..8f0f84c 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/jdbc/simple/SimpleSql.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/jdbc/simple/SimpleSql.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.jdbc.simple;
+package kr.or.geoinfo.webserver.core.vector.jdbc.simple;
public class SimpleSql {
public final String KEY_GEOMTRY = "?GEOMETRY?";
diff --git a/src/main/java/com/geotwo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java
index 6f63e99..6dad28b 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/memory/O2SpatialIndexFeatureCollection.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.core.vector.memory;
+package kr.or.geoinfo.webserver.core.vector.memory;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.index.ItemVisitor;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/o2wps/O2WpsLayerSet.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/o2wps/O2WpsLayerSet.java
similarity index 96%
rename from src/main/java/com/geotwo/webserver/core/vector/o2wps/O2WpsLayerSet.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/o2wps/O2WpsLayerSet.java
index 99a4e94..f57cf14 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/o2wps/O2WpsLayerSet.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/o2wps/O2WpsLayerSet.java
@@ -1,14 +1,14 @@
-package com.geotwo.webserver.core.vector.o2wps;
+package kr.or.geoinfo.webserver.core.vector.o2wps;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.map.LayerFactory;
-import com.geotwo.webserver.core.map.LayerFactory.LayerType;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.WpsVecStoreMngr;
-import com.geotwo.webserver.core.vector.WpsVecStoreMngr.O2WpsMetaFieldName;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.map.LayerFactory;
+import kr.or.geoinfo.webserver.core.map.LayerFactory.LayerType;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.WpsVecStoreMngr;
+import kr.or.geoinfo.webserver.core.vector.WpsVecStoreMngr.O2WpsMetaFieldName;
import java.io.IOException;
import java.sql.Connection;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/shape/ShpIndexMngr.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpIndexMngr.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/core/vector/shape/ShpIndexMngr.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpIndexMngr.java
index bfb5872..fa42fd1 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/shape/ShpIndexMngr.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpIndexMngr.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.core.vector.shape;
+package kr.or.geoinfo.webserver.core.vector.shape;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.GeometryFactory;
import java.io.File;
diff --git a/src/main/java/com/geotwo/webserver/core/vector/shape/ShpLayerInfo.java b/src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpLayerInfo.java
similarity index 90%
rename from src/main/java/com/geotwo/webserver/core/vector/shape/ShpLayerInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpLayerInfo.java
index d6ef3d5..8c34286 100644
--- a/src/main/java/com/geotwo/webserver/core/vector/shape/ShpLayerInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/core/vector/shape/ShpLayerInfo.java
@@ -1,8 +1,8 @@
-package com.geotwo.webserver.core.vector.shape;
+package kr.or.geoinfo.webserver.core.vector.shape;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
import java.io.File;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ServicesService.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ServicesService.java
similarity index 88%
rename from src/main/java/com/geotwo/webserver/plugin/ServicesService.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ServicesService.java
index f73620d..b73e863 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ServicesService.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ServicesService.java
@@ -1,11 +1,11 @@
-package com.geotwo.webserver.plugin;
+package kr.or.geoinfo.webserver.plugin;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.service.AbstractService;
-import com.geotwo.webserver.core.service.Service;
-import com.geotwo.webserver.core.service.ServiceMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.plugin.ows.util.XMLUtil;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.service.AbstractService;
+import kr.or.geoinfo.webserver.core.service.Service;
+import kr.or.geoinfo.webserver.core.service.ServiceMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.plugin.ows.util.XMLUtil;
import java.io.IOException;
import java.util.Iterator;
import java.util.Set;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/OWSConstants.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/OWSConstants.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/plugin/ows/OWSConstants.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/OWSConstants.java
index 95f2ba0..ead4dab 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/OWSConstants.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/OWSConstants.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.plugin.ows;
+package kr.or.geoinfo.webserver.plugin.ows;
import java.util.Arrays;
import java.util.Iterator;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/exception/OWSServiceException.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/exception/OWSServiceException.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/plugin/ows/exception/OWSServiceException.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/exception/OWSServiceException.java
index 295a707..220127a 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/exception/OWSServiceException.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/exception/OWSServiceException.java
@@ -1,7 +1,7 @@
-package com.geotwo.webserver.plugin.ows.exception;
+package kr.or.geoinfo.webserver.plugin.ows.exception;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
import javax.xml.parsers.DocumentBuilder;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/gml/O2GML.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/gml/O2GML.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/plugin/ows/gml/O2GML.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/gml/O2GML.java
index 21ca216..e5841fd 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/gml/O2GML.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/gml/O2GML.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.plugin.ows.gml;
+package kr.or.geoinfo.webserver.plugin.ows.gml;
-import com.geotwo.webserver.plugin.ows.util.XMLUtil;
+import kr.or.geoinfo.webserver.plugin.ows.util.XMLUtil;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/WMSService.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/WMSService.java
new file mode 100644
index 0000000..f10f384
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/WMSService.java
@@ -0,0 +1,104 @@
+package kr.or.geoinfo.webserver.plugin.ows.service;
+
+import kr.or.geoinfo.drilling.inquiry.service.DrillingInquiryService;
+import kr.or.geoinfo.utils.ApplicationContextUtils;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.service.AbstractService;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.service.parser.WMSParser;
+import kr.or.geoinfo.webserver.plugin.ows.util.XMLUtil;
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.WMSGetCapabilities;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.WMSGetFeatureInfo;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.WMSGetLegendGraphic;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.WMSGetMap;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
+import java.io.IOException;
+import java.util.HashMap;
+
+import javax.servlet.RequestDispatcher;
+import javax.servlet.ServletException;
+import javax.servlet.ServletRequest;
+import javax.servlet.ServletResponse;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+
+import org.json.simple.JSONObject;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.w3c.dom.Document;
+
+public class WMSService extends AbstractService {
+ private static final long serialVersionUID = 2014061021213030L;
+
+ @Autowired
+ DrillingInquiryService drillingInquiryService;
+
+ public Request parseQuery(HttpServletRequest req) throws OWSServiceException, Exception {
+ Request requestObj = (new WMSParser(req)).parseQuery();
+ return requestObj;
+ }
+
+ public String doProcess(String str) {
+ return null;
+ }
+
+ protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ doPost(req, resp);
+ }
+
+ protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
+ Request requestObj = null;
+ Document doc = null;
+
+ try {
+ requestObj = parseQuery(req);
+ } catch (OWSServiceException e) {
+ doc = e.getDocument();
+ LogMngr.getInstance().logDebug("[SERVICE]", "WMS Request Prasing Exception : " + e.getMessage());
+ } catch (Exception e) {
+ OWSServiceException ose = new OWSServiceException("[" + e.getClass().toString() + "] " + e.getMessage());
+ doc = ose.getDocument();
+ LogMngr.getInstance().logError("[SERVICE]", "WMS Request Prasing Exception : [" + e.getClass().toString() + "] " + e.getMessage());
+ }
+ boolean isXMLWriteHere = true;
+ if (requestObj != null) {
+ if (requestObj.getVersion().equals("1.3.0")) {
+ if (requestObj instanceof GetCapabilitiesRequest) {
+ WMSGetCapabilities wmsGetCapabilities = new WMSGetCapabilities((GetCapabilitiesRequest) requestObj);
+ doc = wmsGetCapabilities.getCapabilities();
+ } else if (requestObj instanceof GetMapRequest) {
+ WMSGetMap wmsGetMap = new WMSGetMap((GetMapRequest) requestObj);
+ doc = wmsGetMap.getMap(resp);
+ isXMLWriteHere = false;
+ } else if (requestObj instanceof GetFeatureInfoRequest) {
+ WMSGetFeatureInfo wmsGet = new WMSGetFeatureInfo((GetFeatureInfoRequest) requestObj);
+ doc = wmsGet.getFeatureInfo(resp);
+ isXMLWriteHere = false;
+ } else if (requestObj instanceof GetLegendGraphicRequest) {
+ WMSGetLegendGraphic wmsGetLegendGraphic = new WMSGetLegendGraphic((GetLegendGraphicRequest) requestObj);
+ doc = wmsGetLegendGraphic.getLegendGraphic(resp);
+ isXMLWriteHere = false;
+ }
+ } else {
+ LogMngr.getInstance().logDebug("[SERVICE]", "ver." + requestObj.getVersion() + " is not supported");
+ }
+ } else {
+ LogMngr.getInstance().logDebug("[SERVICE]", "requestObj is not generated.");
+ }
+ if (doc != null)
+ try {
+ XMLUtil.writeToResponse(resp, doc);
+ } catch (Exception e) {
+ LogMngr.getInstance().logError("[SERVICE]", "Write XML Exception : " + e.getMessage());
+ doc = null;
+ }
+ if (doc == null && isXMLWriteHere) {
+ resp.setContentType("text/xml; charset=UTF-8");
+ RequestDispatcher dispatcher = req.getRequestDispatcher("/OWSServiceError.xml");
+ dispatcher.forward((ServletRequest) req, (ServletResponse) resp);
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/service/parser/WMSParser.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/parser/WMSParser.java
similarity index 93%
rename from src/main/java/com/geotwo/webserver/plugin/ows/service/parser/WMSParser.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/parser/WMSParser.java
index 688b77c..f1425a0 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/service/parser/WMSParser.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/service/parser/WMSParser.java
@@ -1,20 +1,23 @@
-package com.geotwo.webserver.plugin.ows.service.parser;
+package kr.or.geoinfo.webserver.plugin.ows.service.parser;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.feature.QueryMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.render.StyleMngr;
-import com.geotwo.webserver.core.util.ServerUtil;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.plugin.ows.OWSConstants;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.util.PluginUtil;
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
+import kr.or.geoinfo.drilling.inquiry.service.DrillingInquiryService;
+import kr.or.geoinfo.utils.ApplicationContextUtils;
+import kr.or.geoinfo.utils.MyUtil;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.feature.QueryMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.render.StyleMngr;
+import kr.or.geoinfo.webserver.core.util.ServerUtil;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.plugin.ows.OWSConstants;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.util.PluginUtil;
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
import java.awt.Color;
import java.io.ByteArrayInputStream;
import java.io.ByteArrayOutputStream;
@@ -45,6 +48,7 @@ import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.styling.StyledLayerDescriptor;
import org.geotools.xml.Configuration;
import org.geotools.xml.Parser;
+import org.json.simple.JSONObject;
import org.opengis.filter.And;
import org.opengis.filter.Filter;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
@@ -268,6 +272,9 @@ public class WMSParser {
}
Filter cFilter = null;
String strCql = this.reqMap.get("CQL");
+
+ // thkim 발주기관에서 요청한 경우, 발주기관에 소속된 시추공만 보여준다.
+ strCql = drillingProjectCodes(strCql);
if (!ServerUtil.isNullString(strCql))
cFilter = CQL.toFilter(strCql);
if (fFilter != null) {
@@ -924,4 +931,52 @@ public class WMSParser {
}
return filter;
}
+
+
+
+ private String drillingProjectCodes(String strCql) throws Exception {
+ JSONObject result = null;
+ String projectCodes = null;
+
+ String projectMasterCompanyCode = req.getParameter("projectMasterCompanyCode");
+ if( projectMasterCompanyCode != null ) {
+ try {
+ // 1. ApplicationContext에서 Service Bean을 직접 가져옵니다.
+ DrillingInquiryService inquiryService =
+ (DrillingInquiryService) ApplicationContextUtils.getBean("drillingInquiryService");
+
+ // 2. 서비스 호출에 필요한 파라미터 준비
+ HashMap serviceParams = new HashMap<>();
+ // 예: req에서 파라미터를 꺼내서 serviceParams에 담기
+ // serviceParams.put("constName", req.getParameter("constName"));
+
+ // 3. 서비스 메서드 호출
+ result = inquiryService.drillingInquiryProjectCodes(req, serviceParams);
+
+ projectCodes = MyUtil.getStringFromObject( result.get("data") );
+
+ // 4. 결과 사용
+ System.out.println("WMSService에서 조회된 코드: " + projectCodes);
+
+ } catch (Exception e) {
+ // Bean을 가져오거나 서비스 호출 시 발생한 예외 처리
+ LogMngr.getInstance().logError("[SERVICE]", "DrillingInquiryService 호출 오류: " + e.getMessage());
+ }
+
+
+ if( projectCodes == null ) {
+ throw new Exception("projectCodes를 구할 수 없습니다.");
+ }
+ if( strCql == null ) {
+ strCql = " PROJECT_CODE IN (" + projectCodes + ") ";
+ } else {
+ strCql = " ( " + strCql + " ) AND (" + projectCodes + ") ";
+ }
+ }
+
+ return strCql;
+ }
+
+
+
}
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/util/JsonUtil.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/JsonUtil.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/plugin/ows/util/JsonUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/JsonUtil.java
index a012362..547a155 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/util/JsonUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/JsonUtil.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.plugin.ows.util;
+package kr.or.geoinfo.webserver.plugin.ows.util;
import java.io.StringWriter;
import javax.servlet.http.HttpServletResponse;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/util/PluginUtil.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/PluginUtil.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/plugin/ows/util/PluginUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/PluginUtil.java
index 35fee76..cda27de 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/util/PluginUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/PluginUtil.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.plugin.ows.util;
+package kr.or.geoinfo.webserver.plugin.ows.util;
import java.io.File;
import java.net.URLDecoder;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/util/XMLUtil.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/XMLUtil.java
similarity index 98%
rename from src/main/java/com/geotwo/webserver/plugin/ows/util/XMLUtil.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/XMLUtil.java
index 03aa4b9..ea824da 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/util/XMLUtil.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/util/XMLUtil.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.plugin.ows.util;
+package kr.or.geoinfo.webserver.plugin.ows.util;
-import com.geotwo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.ServerContext;
import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.io.OutputStream;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/request/Request.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/request/Request.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/request/Request.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/request/Request.java
index 78e65fd..81c6956 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/request/Request.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/request/Request.java
@@ -1,4 +1,4 @@
-package com.geotwo.webserver.plugin.ows.wms.request;
+package kr.or.geoinfo.webserver.plugin.ows.wms.request;
import org.opengis.filter.Filter;
public class Request {
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java
similarity index 97%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java
index 086ffd9..372fa16 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetCapabilities.java
@@ -1,13 +1,13 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.feature.GeometryMngr;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.core.vector.crs.CRSMngr;
-import com.geotwo.webserver.plugin.ows.OWSConstants;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.feature.GeometryMngr;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.core.vector.crs.CRSMngr;
+import kr.or.geoinfo.webserver.plugin.ows.OWSConstants;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetCapabilitiesRequest;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java
similarity index 92%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java
index 6dab4c6..fafba66 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetFeatureInfo.java
@@ -1,17 +1,17 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130;
-import com.geotwo.webserver.core.ServerContext;
-import com.geotwo.webserver.core.feature.FeatureMngr;
-import com.geotwo.webserver.core.feature.GeometryMngr;
-import com.geotwo.webserver.core.feature.O2FeatureCollection;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.map.layer.FeatureLayer;
-import com.geotwo.webserver.core.map.layer.Layer;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.gml.O2GML;
-import com.geotwo.webserver.plugin.ows.util.JsonUtil;
-import com.geotwo.webserver.plugin.ows.util.XMLUtil;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
+import kr.or.geoinfo.webserver.core.ServerContext;
+import kr.or.geoinfo.webserver.core.feature.FeatureMngr;
+import kr.or.geoinfo.webserver.core.feature.GeometryMngr;
+import kr.or.geoinfo.webserver.core.feature.O2FeatureCollection;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.map.layer.FeatureLayer;
+import kr.or.geoinfo.webserver.core.map.layer.Layer;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.gml.O2GML;
+import kr.or.geoinfo.webserver.plugin.ows.util.JsonUtil;
+import kr.or.geoinfo.webserver.plugin.ows.util.XMLUtil;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetFeatureInfoRequest;
import com.vividsolutions.jts.geom.Polygon;
import java.io.IOException;
import java.nio.charset.Charset;
@@ -77,9 +77,9 @@ public class WMSGetFeatureInfo {
Layer mapLayer = ServerContext.getMap().getLayer(layerName);
if (mapLayer == null)
throw new IllegalArgumentException("QUERY_LAYERS [" + layerName + "] is not exist.");
- if (mapLayer instanceof com.geotwo.webserver.core.map.layer.LinkLayer)
+ if (mapLayer instanceof kr.or.geoinfo.webserver.core.map.layer.LinkLayer)
throw new IllegalArgumentException("[" + layerName + "] is not support this operation.");
- if (mapLayer instanceof com.geotwo.webserver.core.map.layer.GroupLayer)
+ if (mapLayer instanceof kr.or.geoinfo.webserver.core.map.layer.GroupLayer)
throw new IllegalArgumentException("[" + layerName + "] is not support this operation.");
mapLayers.add((FeatureLayer)mapLayer);
} catch (Exception e) {
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java
similarity index 88%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java
index 2490bad..bcbb0ba 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetLegendGraphic.java
@@ -1,10 +1,10 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130;
-import com.geotwo.webserver.core.log.LogMngr;
-import com.geotwo.webserver.core.render.legend.LegendGraphicBuilder;
-import com.geotwo.webserver.core.util.AVList;
-import com.geotwo.webserver.plugin.ows.exception.OWSServiceException;
-import com.geotwo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.legend.LegendGraphicBuilder;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetLegendGraphicRequest;
import java.awt.image.BufferedImage;
import java.io.OutputStream;
import javax.imageio.ImageIO;
diff --git a/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetMap.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetMap.java
new file mode 100644
index 0000000..b5c66f8
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/WMSGetMap.java
@@ -0,0 +1,78 @@
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130;
+
+import kr.or.geoinfo.webserver.core.log.LogMngr;
+import kr.or.geoinfo.webserver.core.render.RenderMngr;
+import kr.or.geoinfo.webserver.core.render.io.O2PngWriter;
+import kr.or.geoinfo.webserver.core.util.AVList;
+import kr.or.geoinfo.webserver.plugin.ows.exception.OWSServiceException;
+import kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request.GetMapRequest;
+import java.awt.image.BufferedImage;
+import java.io.OutputStream;
+import javax.imageio.ImageIO;
+import javax.servlet.ServletOutputStream;
+import javax.servlet.http.HttpServletResponse;
+import org.w3c.dom.Document;
+
+public class WMSGetMap {
+ GetMapRequest requestObj = null;
+
+ public WMSGetMap(GetMapRequest requestObj) {
+ this.requestObj = requestObj;
+ }
+
+ public Document getMap(HttpServletResponse resp) {
+ AVList params = new AVList();
+ params.setValue("request.wms.layers", this.requestObj.getLayers());
+ params.setValue("request.wms.bbox", this.requestObj.getBbox());
+ params.setValue("request.wms.width", Integer.valueOf(this.requestObj.getWidth()));
+ params.setValue("request.wms.height", Integer.valueOf(this.requestObj.getHeight()));
+ params.setValue("request.wms.format", this.requestObj.getFormat());
+ params.setValue("request.wms.transparent", Boolean.valueOf(this.requestObj.isTransparent()));
+ params.setValue("request.wms.bgcolor", this.requestObj.getBgcolor());
+ params.setValue("request.wms.styles", this.requestObj.getStyles());
+ params.setValue("request.wms.filter", this.requestObj.getFilter());
+ if (this.requestObj.getSld() != null)
+ params.setValue("request.wms.sld", this.requestObj.getSld());
+ BufferedImage image = null;
+ Document doc = null;
+ try {
+ image = RenderMngr.productMap(params);
+ } catch (Exception e) {
+ OWSServiceException ose = new OWSServiceException("WMS GetMap Exception : Image process fails : " + e.getMessage());
+ doc = ose.getDocument();
+ LogMngr.getInstance().logError("[SERVICE]", "WMS GetMap Exception : Image process fails : " + e.getMessage());
+ }
+ if (image != null)
+ try {
+ writeImage(image, resp);
+ } catch (Exception e) {
+ OWSServiceException ose = new OWSServiceException("WMS GetMap Exception : Write IMAGE fails : " + e.getMessage());
+ doc = ose.getDocument();
+ LogMngr.getInstance().logError("[SERVICE]", "WMS GetMap Exception : Write IMAGE fails : " + e.getMessage());
+ }
+ return doc;
+ }
+
+ private void writeImage(BufferedImage image, HttpServletResponse resp) throws Exception {
+ ServletOutputStream servletOutputStream = null;
+ OutputStream out = null;
+ try {
+ String format = this.requestObj.getFormat();
+ String[] formatElement = format.split("/");
+ resp.setContentType(format);
+ servletOutputStream = resp.getOutputStream();
+ if (format.toUpperCase().contains("PNG")) {
+ O2PngWriter.writePNG(image, (OutputStream) servletOutputStream);
+ } else {
+ ImageIO.write(image, formatElement[1], (OutputStream) servletOutputStream);
+ }
+ } catch (Exception e) {
+ throw e;
+ } finally {
+ if (servletOutputStream != null) {
+ servletOutputStream.flush();
+ servletOutputStream.close();
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java
new file mode 100644
index 0000000..452a05f
--- /dev/null
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetCapabilitiesRequest.java
@@ -0,0 +1,5 @@
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request;
+
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
+
+public class GetCapabilitiesRequest extends Request {}
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java
similarity index 94%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java
index e3b92cf..c06c789 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetFeatureInfoRequest.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130.request;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request;
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.styling.StyledLayerDescriptor;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java
similarity index 91%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java
index 925b0c1..8a32f1b 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetLegendGraphicRequest.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130.request;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request;
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
import org.geotools.styling.StyledLayerDescriptor;
public class GetLegendGraphicRequest extends Request {
diff --git a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java
similarity index 95%
rename from src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java
rename to src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java
index 34fe6d9..5f44dbd 100644
--- a/src/main/java/com/geotwo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java
+++ b/src/main/java/kr/or/geoinfo/webserver/plugin/ows/wms/wms130/request/GetMapRequest.java
@@ -1,6 +1,6 @@
-package com.geotwo.webserver.plugin.ows.wms.wms130.request;
+package kr.or.geoinfo.webserver.plugin.ows.wms.wms130.request;
-import com.geotwo.webserver.plugin.ows.wms.request.Request;
+import kr.or.geoinfo.webserver.plugin.ows.wms.request.Request;
import java.awt.Color;
import org.geotools.geometry.jts.ReferencedEnvelope;
import org.geotools.styling.StyledLayerDescriptor;
diff --git a/src/main/resources/egovframework/spring/context-common.xml b/src/main/resources/egovframework/spring/context-common.xml
index b96145f..58079a3 100644
--- a/src/main/resources/egovframework/spring/context-common.xml
+++ b/src/main/resources/egovframework/spring/context-common.xml
@@ -4,7 +4,7 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
-
+
diff --git a/src/main/resources/egovframework/spring/context-mybatis.xml b/src/main/resources/egovframework/spring/context-mybatis.xml
new file mode 100644
index 0000000..a76fb6a
--- /dev/null
+++ b/src/main/resources/egovframework/spring/context-mybatis.xml
@@ -0,0 +1,31 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/src/main/resources/egovframework/sqlmap/mapper/com/Jusangdo_SQL.xml b/src/main/resources/egovframework/sqlmap/mapper/com/Jusangdo_SQL.xml
deleted file mode 100644
index 127c108..0000000
--- a/src/main/resources/egovframework/sqlmap/mapper/com/Jusangdo_SQL.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml
deleted file mode 100644
index 0e50303..0000000
--- a/src/main/resources/egovframework/sqlmap/mapper/drilling/home/DrillingHomeMapper.xml
+++ /dev/null
@@ -1,97 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml
deleted file mode 100644
index 2dc5735..0000000
--- a/src/main/resources/egovframework/sqlmap/mapper/drilling/input/DrillingInputMapper.xml
+++ /dev/null
@@ -1,134 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml
index 16f0071..e035958 100644
--- a/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml
+++ b/src/main/resources/egovframework/sqlmap/mapper/drilling/inquiry/DrillingInquiryMapper.xml
@@ -1,11 +1,21 @@
-
-
-
-