build: 오류 수정

main
thkim 2025-10-21 15:19:12 +09:00
parent d750eeca8a
commit c8399d6ee8
24 changed files with 1555 additions and 1860 deletions

56
pom.xml
View File

@ -415,10 +415,12 @@
<artifactId>gt-main</artifactId>
<version>${geotools.version}</version>
</dependency>
<!--
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-opengis</artifactId>
<version>${geotools.version}</version> </dependency>
-->
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-referencing</artifactId>
@ -482,11 +484,13 @@
<artifactId>gt-process</artifactId>
<version>${geotools.version}</version>
</dependency>
<!--
<dependency>
<groupId>org.geotools</groupId>
<artifactId>gt-jdbc</artifactId>
<version>${geotools.version}</version>
</dependency>
-->
<dependency>
<groupId>org.geotools.jdbc</groupId>
<artifactId>gt-jdbc-postgis</artifactId>
@ -533,6 +537,58 @@
<version>2.9.1-v20130827-0309</version>
</dependency>
<dependency>
<groupId>org.opengis</groupId>
<artifactId>gt-jdbc</artifactId>
<version>11.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-jdbc-11.0.jar</systemPath>
</dependency>
<dependency>
<groupId>org.opengis</groupId>
<artifactId>gt-opengis</artifactId>
<version>11.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/gt-opengis-11.0.jar</systemPath>
</dependency>
<dependency>
<groupId>com.tmax.tibero</groupId>
<artifactId>tibero5-jdbc</artifactId>
<version>5.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/tibero5-jdbc.jar</systemPath>
</dependency>
<dependency>
<groupId>ar.com.hjg</groupId>
<artifactId>pngj</artifactId>
<version>2.1.1</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/pngj-2.1.1.jar</systemPath>
</dependency>
<dependency>
<groupId>com.geowave</groupId>
<artifactId>geowave-driver</artifactId>
<version>0.9</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/geowave-driver-0.9.jar</systemPath>
</dependency>
<dependency>
<groupId>com.geotwo</groupId>
<artifactId>wms</artifactId>
<version>1.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/wms.jar</systemPath>
</dependency>
<dependency>
<groupId>com.oracle</groupId> <artifactId>ojdbc6</artifactId> <version>11.2.0.4</version> <scope>system</scope>
<systemPath>${project.basedir}/src/main/webapp/WEB-INF/lib/ojdbc6-11.2.0.4.jar</systemPath>
</dependency>
</dependencies>
<build>

View File

@ -0,0 +1,49 @@
package com;
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 org.slf4j.Logger;
import org.slf4j.LoggerFactory;
@Component
public class MyStartServer implements ApplicationListener<ContextRefreshedEvent> {
// 로깅을 위한 Logger 인스턴스
private static final Logger LOGGER = LoggerFactory.getLogger(MyStartServer.class);
/**
* ContextRefreshedEvent .
* .
*
* @param event ContextRefreshedEvent
*/
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// 부모 컨텍스트에도 이벤트가 발생할 수 있으므로, 최상위(루트) 컨텍스트에서만 실행되도록 확인합니다.
// 이는 중복 실행을 방지합니다.
if (event.getApplicationContext().getParent() == null) {
LOGGER.info("**************************************");
LOGGER.info("* *");
LOGGER.info("* WMS 서버 시작 *");
LOGGER.info("* *");
LOGGER.info("**************************************");
// 여기에 서버 시작 시 실행하고 싶은 다른 로직을 추가할 수 있습니다.
// 예: 초기 데이터 로드, 스케줄러 시작 등
if (ServerConfiguration.getInstance().startServer())
ServerInfo.getInstance().setStarted(true);
else {
ServerInfo.getInstance().setStarted(false);
}
ServiceMngr.initServices();
}
}
}

View File

@ -354,7 +354,7 @@ public class O2LayerUtil {
}
Envelope targetBBox = bbox.intersection(levelSet.getBBox());
if (targetBBox == null || targetBBox.isNull())
return gcFactory.create("DEM", raster, (Envelope)bbox);
return gcFactory.create("DEM", raster, (org.opengis.geometry.Envelope)bbox);
double resX = bbox.getWidth() / width;
double resY = bbox.getHeight() / height;
double res = Math.max(resX, resY);
@ -405,7 +405,7 @@ public class O2LayerUtil {
GridSampleDimension[] bands = new GridSampleDimension[raster.getNumBands()];
ColorModel model = bands[0].getColorModel(0, bands.length, raster.getSampleModel().getDataType());
RenderedImage image = new BufferedImage(model, raster, false, null);
return (new GridCoverageFactory()).create("DEM", image, (Envelope)bbox, null, null, propMap);
return (new GridCoverageFactory()).create("DEM", image, (org.opengis.geometry.Envelope)bbox, null, null, propMap);
}
public static ArrayList<O2LayerIndex> calBlockIndex(O2LayerLevel level, Envelope cBBox) throws Exception {

View File

@ -16,6 +16,7 @@ import com.vividsolutions.jts.geom.Geometry;
import java.io.IOException;
import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Statement;
import java.util.ArrayList;
@ -143,86 +144,83 @@ public class FeatureMngr {
}
public static List<FeatureId> insertFeature(LayerFactory.LayerType layerType, String serverName, String tableName, SimpleFeature feature, boolean useProvidedFid) throws Exception {
try {
JDBCFeatureStore featureStore = O2DSMngr.getFeatureStore(layerType, serverName, tableName);
SimpleFeatureType featureType = featureStore.getSchema();
for (PropertyDescriptor property : feature.getFeatureType().getDescriptors()) {
if (featureType.getDescriptor(property.getName().getLocalPart().toUpperCase()) == null)
if (!property.getName().getLocalPart().equalsIgnoreCase("NAME") &&
!property.getName().getLocalPart().equalsIgnoreCase("DESCRIPTION") &&
!property.getName().getLocalPart().equalsIgnoreCase("BOUNDEDBY"))
throw new Exception("Input Property [" + property.getName().getLocalPart() + "] is not exist.");
}
if (useProvidedFid &&
featureStore.getPrimaryKey() != null &&
featureStore.getPrimaryKey().getColumns().size() != 0) {
String pkColumn = ((PrimaryKeyColumn)featureStore.getPrimaryKey().getColumns().get(0)).getName();
if (feature.getProperty(pkColumn) != null) {
Object pkValue = feature.getProperty(pkColumn).getValue();
Id id = QueryMngr.filterFactory.id(new FeatureId[] { (FeatureId)new FeatureIdImpl(pkValue.toString()) });
int count = featureStore.getCount(new Query(featureStore.getSchema().getTypeName(), (Filter)id));
if (count != 0)
throw new SQLException("Can't insert feature :: Already Exist PrimaryKey Value [" + feature.getIdentifier().getID() + "]");
}
}
RefindInsertFeatureCollection refineFeatureCollection =
new RefindInsertFeatureCollection(feature, (ContentFeatureStore)featureStore, useProvidedFid);
List<FeatureId> fID = null;
DefaultTransaction transaction = new DefaultTransaction("insert");
try {
featureStore.setTransaction((Transaction)transaction);
FeatureWriter<SimpleFeatureType, SimpleFeature> writer = featureStore.getWriter((Filter)Filter.INCLUDE, 1);
SimpleFeature toWrite = (SimpleFeature)writer.next();
JDBCFeatureReader.ResultSetFeature resultSetFeature = ResultSetFeatureRefinder.refindResultSetFeature(toWrite);
fID = new LinkedList<FeatureId>();
SimpleFeatureIterator simpleFeatureIterator = refineFeatureCollection.features();
try {
while (simpleFeatureIterator.hasNext()) {
SimpleFeature refineFeature = (SimpleFeature)simpleFeatureIterator.next();
for (int i = 0; i < resultSetFeature.getType().getAttributeCount(); i++) {
String name = resultSetFeature.getType().getDescriptor(i).getLocalName();
resultSetFeature.setAttribute(name, refineFeature.getAttribute(name));
}
if (refineFeature.getUserData().size() > 0)
resultSetFeature.getUserData().putAll(refineFeature.getUserData());
if (featureStore.getQueryCapabilities().isUseProvidedFIDSupported() && (
(Boolean)refineFeature.getUserData().get(Hints.USE_PROVIDED_FID)).booleanValue())
((FeatureIdImpl)resultSetFeature.getIdentifier()).setID(refineFeature.getID());
writer.write();
fID.add(resultSetFeature.getIdentifier());
}
} finally {
writer.close();
simpleFeatureIterator.close();
}
transaction.commit();
} catch (Exception e) {
transaction.rollback();
throw e;
} finally {
transaction.close();
}
if (feature.getDefaultGeometry() != null ||
feature.getDefaultGeometry() instanceof Geometry) {
Geometry insertGeom = (Geometry)feature.getDefaultGeometry();
if (insertGeom.getUserData() != null &&
insertGeom.getUserData() instanceof CoordinateReferenceSystem &&
featureType.getCoordinateReferenceSystem() != null) {
CoordinateReferenceSystem crs = (CoordinateReferenceSystem)insertGeom.getUserData();
if (!CRS.equalsIgnoreMetadata(crs, featureType.getCoordinateReferenceSystem())) {
MathTransform transform = CRS.findMathTransform(crs, featureType.getCoordinateReferenceSystem(), true);
insertGeom = JTS.transform(insertGeom, transform);
}
}
Envelope envelope = insertGeom.getEnvelopeInternal();
onInsertMetaData(featureStore, fID, envelope);
}
LogMngr.getInstance().logInfo("[DB]", "Insert Success :: " + serverName + "/" + tableName + ">" + fID.toString());
return fID;
} catch (Exception eek) {
LogMngr.getInstance().logInfo("[DB]", "Insert Fail :: " + eek);
throw new SQLException("Insert Fail :: " + eek);
}
String pkColumn;
JDBCFeatureStore featureStore = O2DSMngr.getFeatureStore((LayerFactory.LayerType)layerType, (String)serverName, (String)tableName);
SimpleFeatureType featureType = featureStore.getSchema();
for (PropertyDescriptor property : feature.getFeatureType().getDescriptors()) {
if (featureType.getDescriptor(property.getName().getLocalPart().toUpperCase()) != null || property.getName().getLocalPart().equalsIgnoreCase("NAME") || property.getName().getLocalPart().equalsIgnoreCase("DESCRIPTION") || property.getName().getLocalPart().equalsIgnoreCase("BOUNDEDBY")) continue;
throw new Exception("Input Property [" + property.getName().getLocalPart() + "] is not exist.");
}
if (useProvidedFid && featureStore.getPrimaryKey() != null && featureStore.getPrimaryKey().getColumns().size() != 0 && feature.getProperty(pkColumn = ((PrimaryKeyColumn)featureStore.getPrimaryKey().getColumns().get(0)).getName()) != null) {
Object pkValue = feature.getProperty(pkColumn).getValue();
Id filter = QueryMngr.filterFactory.id(new FeatureId[]{new FeatureIdImpl(pkValue.toString())});
int count = featureStore.getCount(new Query(featureStore.getSchema().getTypeName(), (Filter)filter));
if (count != 0) {
throw new SQLException("Can't insert feature :: Already Exist PrimaryKey Value [" + feature.getIdentifier().getID() + "]");
}
}
RefindInsertFeatureCollection refineFeatureCollection = new RefindInsertFeatureCollection(feature, (ContentFeatureStore)featureStore, useProvidedFid);
LinkedList<FeatureId> fID = null;
DefaultTransaction transaction = new DefaultTransaction("insert");
try {
try {
featureStore.setTransaction((Transaction)transaction);
FeatureWriter writer = featureStore.getWriter((Filter)Filter.INCLUDE, 1);
SimpleFeature toWrite = (SimpleFeature)writer.next();
toWrite = ResultSetFeatureRefinder.refindResultSetFeature((SimpleFeature)toWrite);
fID = new LinkedList<FeatureId>();
SimpleFeatureIterator f = refineFeatureCollection.features();
try {
while (f.hasNext()) {
SimpleFeature refineFeature = (SimpleFeature)f.next();
int i = 0;
while (i < toWrite.getType().getAttributeCount()) {
String name = toWrite.getType().getDescriptor(i).getLocalName();
toWrite.setAttribute(name, refineFeature.getAttribute(name));
++i;
}
if (refineFeature.getUserData().size() > 0) {
toWrite.getUserData().putAll(refineFeature.getUserData());
}
if (featureStore.getQueryCapabilities().isUseProvidedFIDSupported() && ((Boolean)refineFeature.getUserData().get(Hints.USE_PROVIDED_FID)).booleanValue()) {
((FeatureIdImpl)toWrite.getIdentifier()).setID(refineFeature.getID());
}
writer.write();
fID.add(toWrite.getIdentifier());
}
}
finally {
writer.close();
f.close();
}
transaction.commit();
}
catch (Exception e) {
transaction.rollback();
throw e;
}
}
finally {
transaction.close();
}
if (feature.getDefaultGeometry() != null || feature.getDefaultGeometry() instanceof Geometry) {
CoordinateReferenceSystem crs;
Geometry insertGeom = (Geometry)feature.getDefaultGeometry();
if (insertGeom.getUserData() != null && insertGeom.getUserData() instanceof CoordinateReferenceSystem && featureType.getCoordinateReferenceSystem() != null && !CRS.equalsIgnoreMetadata((Object)(crs = (CoordinateReferenceSystem)insertGeom.getUserData()), (Object)featureType.getCoordinateReferenceSystem())) {
MathTransform transform = CRS.findMathTransform((CoordinateReferenceSystem)crs, (CoordinateReferenceSystem)featureType.getCoordinateReferenceSystem(), (boolean)true);
insertGeom = JTS.transform((Geometry)insertGeom, (MathTransform)transform);
}
Envelope envelope = insertGeom.getEnvelopeInternal();
FeatureMngr.onInsertMetaData(featureStore, fID, envelope);
}
LogMngr.getInstance().logInfo("[DB]", "Insert Success :: " + serverName + "/" + tableName + ">" + ((Object)fID).toString());
return fID;
}
catch (Exception eek) {
LogMngr.getInstance().logInfo("[DB]", "Insert Fail :: " + eek);
throw new SQLException("Insert Fail :: " + eek);
}
}
public static List<FeatureId> insertFeatureCollection(LayerFactory.LayerType layerType, String serverName, String tableName, SimpleFeatureCollection collection, boolean useProvidedFid) throws Exception {
@ -459,16 +457,36 @@ public class FeatureMngr {
}
private static double getMaxCount(JDBCFeatureStore featureStore, String keyField) throws SQLException, IOException {
Connection cx = featureStore.getDataStore().getConnection(Transaction.AUTO_COMMIT);
Statement st = cx.createStatement();
try {
String sql = "select max(" + keyField + ") from " + featureStore.getSchema().getTypeName();
LogMngr.getInstance().logDebug("[DB]", "Lookup max count for [" + featureStore.getSchema().getTypeName() + "]");
LogMngr.getInstance().logDebug("[DB]", "QUERY : " + sql);
} finally {
featureStore.getDataStore().closeSafe(cx);
featureStore.getDataStore().closeSafe(st);
}
Connection cx = featureStore.getDataStore().getConnection(Transaction.AUTO_COMMIT);
Statement st = cx.createStatement();
try {
Double max;
ResultSet rs;
block8: {
String sql = "select max(" + keyField + ") from " + featureStore.getSchema().getTypeName();
LogMngr.getInstance().logDebug("[DB]", "Lookup max count for [" + featureStore.getSchema().getTypeName() + "]");
LogMngr.getInstance().logDebug("[DB]", "QUERY : " + sql);
rs = st.executeQuery(sql);
try {
rs.next();
max = rs.getDouble(1);
if (max != null) break block8;
}
catch (Throwable throwable) {
rs.close();
throw throwable;
}
rs.close();
return 0.0;
}
double d = max;
rs.close();
return d;
}
finally {
featureStore.getDataStore().closeSafe(cx);
featureStore.getDataStore().closeSafe(st);
}
}
private static SimpleFeature refineInsertFeature(ContentFeatureStore featureStore, SimpleFeature feature) throws Exception {

View File

@ -111,7 +111,7 @@ public class RenderFeatureSource implements SimpleFeatureSource {
}
public void accepts(Query query, FeatureVisitor visitor, ProgressListener progress) throws IOException {
NullProgressListener nullProgressListener;
NullProgressListener nullProgressListener = null;
if (progress == null)
nullProgressListener = new NullProgressListener();
FeatureReader<SimpleFeatureType, SimpleFeature> reader = getReader(query);
@ -143,7 +143,6 @@ public class RenderFeatureSource implements SimpleFeatureSource {
}
public final FeatureReader<SimpleFeatureType, SimpleFeature> getReader(Query query) throws IOException {
System.out.println("thkim RenderFeatureSource.getReader() called with query: " + query);
RenderFeatureReader reader = new RenderFeatureReader(this.delegate, query);
if (query != null) {
ReferencedEnvelope bbox = new ReferencedEnvelope();

View File

@ -211,7 +211,7 @@ public class LegendGraphicBuilder {
layersImages.add(titleImage);
}
for (int pos = 0; pos < layers.size(); pos++) {
Feature sampleFeature;
Feature sampleFeature = null;
Rule[] applicableRules;
FeatureType renderLayer = layers.get(pos);
Style renderStyle = styles.get(pos);
@ -287,7 +287,7 @@ public class LegendGraphicBuilder {
shapePainter.paint(graphics, this.samplePoint, legend, scale.doubleValue(), false);
} else {
for (int sIdx = 0; sIdx < symbolizers.length; sIdx++) {
PointSymbolizer pointSymbolizer;
PointSymbolizer pointSymbolizer = null;
Symbolizer symbolizer = symbolizers[sIdx];
if (symbolizer instanceof org.geotools.styling.RasterSymbolizer)
throw new IllegalStateException("It is not legal to have a RasterSymbolizer here");
@ -400,7 +400,7 @@ public class LegendGraphicBuilder {
}
private Feature createSampleFeature(FeatureType schema) {
Feature sampleFeature;
Feature sampleFeature = null;
try {
if (schema instanceof SimpleFeatureType) {
if (hasMixedGeometry((SimpleFeatureType)schema)) {

View File

@ -93,21 +93,9 @@ import org.opengis.filter.expression.Expression;
import org.opengis.filter.expression.Function;
import org.opengis.filter.expression.Literal;
import org.opengis.filter.expression.PropertyName;
import org.opengis.style.ChannelSelection;
import org.opengis.style.ColorMap;
import org.opengis.style.ContrastEnhancement;
import org.opengis.style.ContrastMethod;
import org.opengis.style.Displacement;
import org.opengis.style.Fill;
import org.opengis.style.Font;
import org.opengis.style.Graphic;
import org.opengis.style.GraphicLegend;
import org.opengis.style.Halo;
import org.opengis.style.LabelPlacement;
import org.opengis.style.SemanticType;
import org.opengis.style.ShadedRelief;
import org.opengis.style.Stroke;
import org.opengis.style.Symbolizer;
import org.opengis.util.InternationalString;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@ -1359,7 +1347,7 @@ public class SLDParser100 {
}
if (icon == null) {
this.LOGGER.warning("returning empty icon");
icon = new EmptyIcon(null);
icon = new EmptyIcon();
}
extgraph = this.factory.createExternalGraphic(icon, format);
} else {
@ -1695,7 +1683,7 @@ public class SLDParser100 {
}
protected LabelPlacement parseLabelPlacement(Node root) {
LinePlacement linePlacement;
LinePlacement linePlacement = null;
if (this.LOGGER.isLoggable(Level.FINEST))
this.LOGGER.finest("parsing labelPlacement");
LabelPlacement ret = null;
@ -1718,7 +1706,7 @@ public class SLDParser100 {
}
protected PointPlacement parsePointPlacement(Node root) {
Expression expression;
Expression expression = null;
if (this.LOGGER.isLoggable(Level.FINEST))
this.LOGGER.finest("parsing pointPlacement");
Literal literal = this.ff.literal(0.0D);
@ -1750,7 +1738,7 @@ public class SLDParser100 {
}
protected LinePlacement parseLinePlacement(Node root) {
Expression expression;
Expression expression = null;
if (this.LOGGER.isLoggable(Level.FINEST))
this.LOGGER.finest("parsing linePlacement");
Literal literal = this.ff.literal(0.0D);

View File

@ -1,78 +1,81 @@
package com.geotwo.webserver.core.tile.wmts;
import com.geotwo.webserver.core.tile.wmts.TileMatrix;
import java.io.File;
public class TileMatrixRule {
public enum RuleType {
COLUMN_FIRST, ROW_FIRST, GWC;
}
public static String createPath(TileMatrix matrix, int col, int row, String format) {
StringBuffer path;
long shift;
long half;
int digits;
long halfx;
long halfy;
if (!matrix.isTopLeft())
row = matrix.getMatrixHeight() - 1 - row;
switch (matrix.getRule()) {
case null:
return String.valueOf(matrix.getIdentifier()) + File.separatorChar + col + File.separatorChar + row + "." + format;
case ROW_FIRST:
return String.valueOf(matrix.getIdentifier()) + File.separatorChar + row + File.separatorChar + col + "." + format;
case GWC:
path = new StringBuffer();
path.append(matrix.getIdentifier());
path.append(File.separatorChar);
shift = (matrix.getLevel() / 2);
half = (2 << (int)shift);
digits = 1;
if (half > 10L)
digits = (int)Math.log10(half) + 1;
halfx = col / half;
halfy = row / half;
zeroPadder(halfx, digits, path);
path.append('_');
zeroPadder(halfy, digits, path);
path.append(File.separatorChar);
zeroPadder(col, 2 * digits, path);
path.append('_');
zeroPadder(row, 2 * digits, path);
path.append('.');
path.append(format);
return path.toString();
}
return null;
}
public static RuleType getRuleType(String rule) {
if (rule.equalsIgnoreCase("COLUMN") || rule.equalsIgnoreCase("COL") || rule.equalsIgnoreCase("C") || rule.equalsIgnoreCase("X"))
return RuleType.COLUMN_FIRST;
if (rule.equalsIgnoreCase("ROW") || rule.equalsIgnoreCase("R") || rule.equalsIgnoreCase("Y"))
return RuleType.ROW_FIRST;
if (rule.equalsIgnoreCase("GWC") || rule.equalsIgnoreCase("G") || rule.equalsIgnoreCase("GEOWEBCACHE"))
return RuleType.GWC;
return null;
}
public static void zeroPadder(long number, int order, StringBuffer padding) {
int numberOrder = 1;
if (number > 9L)
if (number > 11L) {
numberOrder = (int)Math.ceil(Math.log10(number) - 0.001D);
} else {
numberOrder = 2;
}
int diffOrder = order - numberOrder;
if (diffOrder > 0) {
while (diffOrder > 0) {
padding.append('0');
diffOrder--;
}
padding.append(number);
} else {
padding.append(number);
}
}
}
public static String createPath(TileMatrix matrix, int col, int row, String format) {
if (!matrix.isTopLeft()) {
row = matrix.getMatrixHeight() - 1 - row;
}
switch (matrix.getRule()) {
case COLUMN_FIRST: {
return String.valueOf(matrix.getIdentifier()) + File.separatorChar + col + File.separatorChar + row + "." + format;
}
case ROW_FIRST: {
return String.valueOf(matrix.getIdentifier()) + File.separatorChar + row + File.separatorChar + col + "." + format;
}
case GWC: {
StringBuffer path = new StringBuffer();
path.append(matrix.getIdentifier());
path.append(File.separatorChar);
long shift = matrix.getLevel() / 2;
long half = 2 << (int)shift;
int digits = 1;
if (half > 10L) {
digits = (int)Math.log10(half) + 1;
}
long halfx = (long)col / half;
long halfy = (long)row / half;
TileMatrixRule.zeroPadder(halfx, digits, path);
path.append('_');
TileMatrixRule.zeroPadder(halfy, digits, path);
path.append(File.separatorChar);
TileMatrixRule.zeroPadder(col, 2 * digits, path);
path.append('_');
TileMatrixRule.zeroPadder(row, 2 * digits, path);
path.append('.');
path.append(format);
return path.toString();
}
}
return null;
}
public static RuleType getRuleType(String rule) {
if (rule.equalsIgnoreCase("COLUMN") || rule.equalsIgnoreCase("COL") || rule.equalsIgnoreCase("C") || rule.equalsIgnoreCase("X")) {
return RuleType.COLUMN_FIRST;
}
if (rule.equalsIgnoreCase("ROW") || rule.equalsIgnoreCase("R") || rule.equalsIgnoreCase("Y")) {
return RuleType.ROW_FIRST;
}
if (rule.equalsIgnoreCase("GWC") || rule.equalsIgnoreCase("G") || rule.equalsIgnoreCase("GEOWEBCACHE")) {
return RuleType.GWC;
}
return null;
}
public static void zeroPadder(long number, int order, StringBuffer padding) {
int diffOrder;
int numberOrder = 1;
if (number > 9L) {
numberOrder = number > 11L ? (int)Math.ceil(Math.log10(number) - 0.001) : 2;
}
if ((diffOrder = order - numberOrder) > 0) {
while (diffOrder > 0) {
padding.append('0');
--diffOrder;
}
padding.append(number);
} else {
padding.append(number);
}
}
public static enum RuleType {
COLUMN_FIRST,
ROW_FIRST,
GWC;
}
}

View File

@ -222,7 +222,7 @@ public class GeoWaveFeatureSource extends ContentFeatureSource {
protected FeatureReader<SimpleFeatureType, SimpleFeature> getReaderInternal(Query query) throws IOException {
FeatureReader<SimpleFeatureType, SimpleFeature> reader;
ReTypeFeatureReader reTypeFeatureReader;
ReTypeFeatureReader reTypeFeatureReader = null;
Filter[] split = splitFilter(query.getFilter());
Filter preFilter = split[0];
Filter postFilter = split[1];

View File

@ -414,7 +414,7 @@ public class NonSpatialDialect extends PreparedStatementSQLDialect implements O2
public void setGeometryValue(Geometry g, int dimension, int srid, Class binding, PreparedStatement ps, int column) throws SQLException {
if (g != null) {
LineString lineString;
LineString lineString = null;
if (g instanceof LinearRing)
lineString = g.getFactory().createLineString(((LinearRing)g).getCoordinateSequence());
WKBWriter wkbWriter = new WKBWriter(dimension);

View File

@ -1201,7 +1201,7 @@ public final class SDO {
List<Polygon> list = new LinkedList();
for (int i = triplet; i < endTriplet; i++) {
LineString lineString;
Polygon polygon;
Polygon polygon = null;
int etype = ETYPE(elemInfo, i);
int interpretation = INTERPRETATION(elemInfo, i);
switch (etype) {

View File

@ -373,7 +373,7 @@ public class SimpleDialect extends PreparedStatementSQLDialect implements O2SqlD
public void setGeometryValue(Geometry g, int dimension, int srid, Class binding, PreparedStatement ps, int column) throws SQLException {
if (g != null) {
LineString lineString;
LineString lineString = null;
if (g instanceof LinearRing)
lineString = g.getFactory().createLineString(((LinearRing)g).getCoordinateSequence());
WKBWriter wkbWriter = new WKBWriter(dimension);

View File

@ -2,9 +2,11 @@ package com.geotwo.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 com.vividsolutions.jts.geom.Envelope;
import com.vividsolutions.jts.geom.Geometry;
import com.vividsolutions.jts.geom.Polygon;
@ -25,138 +27,153 @@ import org.opengis.geometry.BoundingBox;
import org.opengis.referencing.crs.CoordinateReferenceSystem;
import org.opengis.referencing.operation.TransformException;
public class SimpleFilterToSQL extends PreparedFilterToSQL {
private SimpleDialect dsDialect;
public SimpleFilterToSQL(SimpleDialect dialect) {
this.dsDialect = dialect;
}
protected FilterCapabilities createFilterCapabilities() {
FilterCapabilities caps = new FilterCapabilities();
caps.addAll(SQLDialect.BASE_DBMS_CAPABILITIES);
caps.addType(BBOX.class);
return caps;
}
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData) {
try {
if (filter instanceof BBOX) {
BBOX bbox = (BBOX)filter;
ReferencedEnvelope referencedEnvelope = ReferencedEnvelope.reference(bbox.getBounds());
Envelope envelope = intersectionBound((Envelope)referencedEnvelope);
if (envelope == null || envelope.isNull()) {
this.out.append(" 1=0 ");
LogMngr.getInstance().logDebug("[DB]", "WHERE : " + this.out.toString());
return extraData;
}
String bboxSQL = this.dsDialect.simpleSQL.getSqlBBox();
public class SimpleFilterToSQL
extends PreparedFilterToSQL {
private SimpleDialect dsDialect;
public SimpleFilterToSQL(SimpleDialect dialect) {
this.dsDialect = dialect;
}
protected FilterCapabilities createFilterCapabilities() {
FilterCapabilities caps = new FilterCapabilities();
caps.addAll(SQLDialect.BASE_DBMS_CAPABILITIES);
caps.addType(BBOX.class);
return caps;
}
protected Object visitBinarySpatialOperator(BinarySpatialOperator filter, PropertyName property, Literal geometry, boolean swapped, Object extraData) {
try {
Envelope envelop;
if (filter instanceof BBOX) {
BBOX bbox = (BBOX)filter;
envelop = ReferencedEnvelope.reference((BoundingBox)bbox.getBounds());
if ((envelop = this.intersectionBound((Envelope)envelop)) == null || envelop.isNull()) {
this.out.append(" 1=0 ");
LogMngr.getInstance().logDebug("[DB]", "WHERE : " + this.out.toString());
return extraData;
}
} else {
throw new RuntimeException("Unsupported filter type " + filter.getClass());
}
String bboxSQL = this.dsDialect.simpleSQL.getSqlBBox();
this.dsDialect.simpleSQL.getClass();
bboxSQL = ServerUtil.replaceFirst((String)bboxSQL, (String)"?GEOMETRY?", (String)this.findPropertyName(property));
this.dsDialect.simpleSQL.getClass();
bboxSQL = ServerUtil.replaceFirst((String)bboxSQL, (String)"?GEOMETRY?", (String)this.setLiteralBBox(bboxSQL, (Envelope)envelop, extraData));
this.out.append(bboxSQL);
LogMngr.getInstance().logDebug("[DB]", "WHERE : " + this.out.toString());
}
catch (Exception e) {
throw new RuntimeException("Fail to create Filter SQL", e);
}
return extraData;
}
public String findPropertyName(PropertyName expression) {
StringBuffer sb = new StringBuffer();
if (expression instanceof JoinPropertyName) {
sb.append(this.escapeName(((JoinPropertyName)expression).getAlias()));
sb.append(".");
}
AttributeDescriptor attribute = null;
try {
attribute = (AttributeDescriptor)expression.evaluate((Object)this.featureType);
}
catch (Exception exception) {
// empty catch block
}
String encodedField = attribute != null ? this.fieldEncoder.encode(this.escapeName(attribute.getLocalName())) : this.fieldEncoder.encode(this.escapeName(expression.getPropertyName()));
sb.append(encodedField);
return sb.toString();
}
public String setLiteralBBox(String bboxSQL, Envelope envelope, Object context) {
Geometry polygon = JTS.toGeometry((Envelope)envelope);
if (!polygon.isValid()) {
polygon = polygon.buffer(1.0E-5);
}
this.literalValues.add(polygon);
this.dimensions.add(this.currentDimension);
polygon.setSRID(this.currentSRID.intValue());
this.SRIDs.add(this.currentSRID);
Class<?> clazz = null;
if (context instanceof Class) {
clazz = (Class<?>)context;
} else if (polygon != null) {
clazz = polygon.getClass();
}
this.literalTypes.add(clazz);
StringBuffer sb = new StringBuffer();
if (polygon == null || this.dialect == null) {
sb.append("?");
} else if (Geometry.class.isAssignableFrom(polygon.getClass())) {
int srid = this.currentSRID != null ? this.currentSRID : -1;
int dimension = this.currentDimension != null ? this.currentDimension : -1;
this.dialect.prepareGeometryValue((Geometry)polygon, dimension, srid, Geometry.class, sb);
} else if (this.encodingFunction) {
this.dialect.prepareFunctionArgument(clazz, sb);
} else {
sb.append("?");
}
String string = this.dsDialect.simpleSQL.getGeomFromWKB();
this.dsDialect.simpleSQL.getClass();
bboxSQL = ServerUtil.replaceFirst(bboxSQL, "?GEOMETRY?", findPropertyName(property));
String resultStr = ServerUtil.replaceFirst((String)string, (String)"?WKB?", (String)sb.toString());
this.dsDialect.simpleSQL.getClass();
bboxSQL = ServerUtil.replaceFirst(bboxSQL, "?GEOMETRY?", setLiteralBBox(bboxSQL, envelope, extraData));
this.out.append(bboxSQL);
LogMngr.getInstance().logDebug("[DB]", "WHERE : " + this.out.toString());
} else {
throw new RuntimeException("Unsupported filter type " + filter.getClass());
}
} catch (Exception e) {
throw new RuntimeException("Fail to create Filter SQL", e);
}
return extraData;
}
public String findPropertyName(PropertyName expression) {
String encodedField;
StringBuffer sb = new StringBuffer();
if (expression instanceof JoinPropertyName) {
sb.append(escapeName(((JoinPropertyName)expression).getAlias()));
sb.append(".");
}
AttributeDescriptor attribute = null;
try {
attribute = (AttributeDescriptor)expression.evaluate(this.featureType);
} catch (Exception exception) {}
if (attribute != null) {
encodedField = this.fieldEncoder.encode(escapeName(attribute.getLocalName()));
} else {
encodedField = this.fieldEncoder.encode(escapeName(expression.getPropertyName()));
}
sb.append(encodedField);
return sb.toString();
}
public String setLiteralBBox(String bboxSQL, Envelope envelope, Object context) {
Geometry geometry;
Polygon polygon = JTS.toGeometry(envelope);
if (!polygon.isValid())
geometry = polygon.buffer(1.0E-5D);
this.literalValues.add(geometry);
this.dimensions.add(this.currentDimension);
geometry.setSRID(this.currentSRID.intValue());
this.SRIDs.add(this.currentSRID);
Class<?> clazz = null;
if (context instanceof Class) {
clazz = (Class)context;
} else if (geometry != null) {
clazz = geometry.getClass();
}
this.literalTypes.add(clazz);
StringBuffer sb = new StringBuffer();
if (geometry == null || this.dialect == null) {
sb.append("?");
} else if (Geometry.class.isAssignableFrom(geometry.getClass())) {
int srid = (this.currentSRID != null) ? this.currentSRID.intValue() : -1;
int dimension = (this.currentDimension != null) ? this.currentDimension.intValue() : -1;
this.dialect.prepareGeometryValue(geometry, dimension, srid, Geometry.class, sb);
} else if (this.encodingFunction) {
this.dialect.prepareFunctionArgument(clazz, sb);
} else {
sb.append("?");
}
this.dsDialect.simpleSQL.getClass();
String resultStr = ServerUtil.replaceFirst(this.dsDialect.simpleSQL.getGeomFromWKB(), "?WKB?", sb.toString());
this.dsDialect.simpleSQL.getClass();
return ServerUtil.replaceFirst(resultStr, "?SRID?", (String)this.currentSRID);
}
private Envelope intersectionBound(Envelope envelop) {
try {
ArrayList<Layer> layers = ServerContext.getMap().getAllLayers();
for (Layer layer : layers) {
if (!(layer instanceof com.geotwo.webserver.core.map.layer.FeatureLayer))
continue;
if (layer.getServerName().equalsIgnoreCase(this.dsDialect.serverName) &&
layer.getSourceName().equalsIgnoreCase(this.featureType.getTypeName()))
return layer.getBBox().intersection(envelop);
}
} catch (Exception exception) {}
return envelop;
}
private BoundingBox transformFilter(BoundingBox bound) {
if (bound.getCoordinateReferenceSystem() == null)
return bound;
try {
CoordinateReferenceSystem targetCRS = getCRS(this.featureType.getTypeName());
if (!CRS.equalsIgnoreMetadata(targetCRS, bound.getCoordinateReferenceSystem()))
return bound.toBounds(targetCRS);
} catch (TransformException e) {
e.printStackTrace();
}
return bound;
}
private CoordinateReferenceSystem getCRS(String typeName) {
try {
ArrayList<Layer> layers = ServerContext.getMap().getAllLayers();
for (Layer layer : layers) {
if (!(layer instanceof com.geotwo.webserver.core.map.layer.FeatureLayer))
continue;
if (layer.getSourceName().equalsIgnoreCase(typeName))
return layer.getCRS();
}
} catch (Exception exception) {}
return CRSMngr.getCRS(Integer.valueOf(4326));
}
}
return ServerUtil.replaceFirst((String)resultStr, (String)"?SRID?", (String)("" + this.currentSRID));
}
private Envelope intersectionBound(Envelope envelop) {
try {
ArrayList layers = ServerContext.getMap().getAllLayers();
for (Object obj : layers) {
Layer layer = null;
if (obj instanceof Layer) {
layer = (Layer)obj;
}
if (!(obj instanceof FeatureLayer) || !layer.getServerName().equalsIgnoreCase(this.dsDialect.serverName) || !layer.getSourceName().equalsIgnoreCase(this.featureType.getTypeName())) continue;
return layer.getBBox().intersection(envelop);
}
}
catch (Exception exception) {
// empty catch block
}
return envelop;
}
private BoundingBox transformFilter(BoundingBox bound) {
if (bound.getCoordinateReferenceSystem() == null) {
return bound;
}
try {
CoordinateReferenceSystem targetCRS = this.getCRS(this.featureType.getTypeName());
if (!CRS.equalsIgnoreMetadata((Object)targetCRS, (Object)bound.getCoordinateReferenceSystem())) {
return bound.toBounds(targetCRS);
}
}
catch (TransformException e) {
e.printStackTrace();
}
return bound;
}
private CoordinateReferenceSystem getCRS(String typeName) {
try {
ArrayList layers = ServerContext.getMap().getAllLayers();
for (Object obj : layers) {
Layer layer = null;
if (obj instanceof Layer) {
layer = (Layer)obj;
}
if (!(layer instanceof FeatureLayer) || !layer.getSourceName().equalsIgnoreCase(typeName)) continue;
return layer.getCRS();
}
}
catch (Exception exception) {
// empty catch block
}
return CRSMngr.getCRS((Integer)4326);
}
}

View File

@ -233,7 +233,7 @@ public class WMSGetCapabilities {
for (int k = 0; k < this.layerList.size(); k++) {
Layer layer = this.layerList.get(k);
if (layer != null) {
BoundingBox boundingBox;
BoundingBox boundingBox = null;
Element layerElement1 = this.doc.createElementNS(this.support.getURI("wms"), "Layer");
layerElement.appendChild(layerElement1);
Element nameElement1 = this.doc.createElementNS(this.support.getURI("wms"), "Name");
@ -279,7 +279,7 @@ public class WMSGetCapabilities {
}
private Map<String, Object> GetTotalLayerInfo() throws TransformException, FactoryException {
ReferencedEnvelope referencedEnvelope1;
ReferencedEnvelope referencedEnvelope1 = null;
Map<String, Object> totalLayerInfo = new HashMap<String, Object>();
List<String> crsList = new ArrayList<String>();
Map<String, List<ReferencedEnvelope>> map = new HashMap<String, List<ReferencedEnvelope>>();

View File

@ -62,7 +62,7 @@ public class WMSGetLegendGraphic {
}
private void writeImage(BufferedImage image, HttpServletResponse resp) throws Exception {
ServletOutputStream servletOutputStream;
ServletOutputStream servletOutputStream = null;
OutputStream out = null;
try {
String format = this.requestObj.getFormat();

View File

@ -1,20 +0,0 @@
GlobalsWeb.WebSystemTitle = ::\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd \ufffd\u0537\u00bd\u00fd\ufffd\ufffd\ufffd::
GlobalsWeb.WebManageSystemTitle = ::\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd\ufffd \ufffd\ufffd\ufffd\ufffd\ufffd\u00fd\ufffd\ufffd\ufffd::
#GlobalsWeb.WebXmlPath = D:\\Tomcat6\\webapps\\geoinfo\\web\\grid\\DataXml
#GlobalsWeb.WebImagePath = D:\\Tomcat6\\webapps\\geoinfo\\web\\file
#GlobalsWeb.WebSupplyPath = D:\\Tomcat6\\webapps\\geoinfo\\web\\supply
GlobalsWeb.WebXmlPath = D:\\src\\geoinfo_integration\\WebContent\\web\\grid\\DataXml\\
GlobalsWeb.WebImagePath = D:\\egov_geoinfo\\eGovFrameDev-3.5.1-64bit\\workspace\\geoinfo_eGov\\src\\main\\webapp\\web\\file\\
GlobalsWeb.WebSupplyPath = D:\\egov_geoinfo\\eGovFrameDev-3.5.1-64bit\\workspace\\geoinfo_eGov\\src\\main\\webapp\\web\\supply\\
GlobalsWeb.WebSupplyServer = localhost
GlobalsWeb.WebSupplyUser = kict
GlobalsWeb.WebSupplyPassword = kictgis1234
GlobalsWeb.WebSupplyPort = 10021
GlobalsWeb.WebSupplyDir = /geoinfoCH/WebContent/file/service/
GlobalsWeb.GlbWidth = 600
GlobalsWeb.GlbHeight = 600
GlobalsWeb.Levels = {6:2445.98,7:1222.99,8:611.50,9:305.75,10:152.87,11:76.44,12:38.22,13:19.11,14:9.55,15:4.78,16:2.39,17:1.19,18:0.60}
GlobalsWeb.CurrentLevel = 16
GlobalsWeb.GISwms = http://218.232.234.166/o2map/services/wms
#GlobalsWeb.GISwms = http://172.12.192.44:8080/o2map/services/wms

View File

@ -1,47 +1,30 @@
##############################################
################### DB\uad00\ub828 ###################
################### DB관련 ###################
##############################################
# Oracle
Oracle.Driver=oracle.jdbc.driver.OracleDriver
################################################################
# Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl is prod
#Oracle.Url=jdbc:oracle:thin:@192.168.0.8:3452:orcl
# dbnt devlop server
Oracle.Url=jdbc:oracle:thin:@118.219.150.34:1521:ORAGEODEV
# develop local server
#Oracle.Url=jdbc:oracle:thin:@192.168.86.2:1521:xe
# thkim local test
#Oracle.Url=jdbc:oracle:thin:@127.0.0.1:1521:ORAGEODEV
#Oracle.Url=jdbc:oracle:thin:@vas2.com:1521:ORAGEODEV
Oracle.Url=jdbc:oracle:thin:@10.dbnt.co.kr:1521:ORAGEODEV
################################################################
#Oracle.Url=jdbc:oracle:thin:@192.168.0.29:1521:xe
#Oracle.Url=jdbc:oracle:thin:@192.168.0.71:1521:orcl
#Oracle.Url=jdbc:oracle:thin:@220.121.145.78:7080:xe
#Oracle.Url=jdbc:oracle:thin:@localhost:1521:orcl
#Oracle.Url=jdbc:oracle:thin:@218.232.234.162:1521:ORAGEO
Oracle.ID=geoinfo
Oracle.Password=geoinfo
# thkim local test
#Oracle.Password=dbnt060928!rlaxogh
#Oracle.Password=!!kictgis1234
###############################################
################### \ud30c\uc77c\uad00\ub828 ###################
################### 파일관련 ###################
###############################################
#Geoinfo.FilePath=D:\\Tomcat6\\geoinfoEgov\\webapps\\geoinfo\\files\\
Geoinfo.FilePath=D:\\app_geoinfo\\app\\files\\
#\uac80\uc0c9\uc720\ud1b5 3\ucc28\uc6d0
#검색유통 3차원
#Geoinfo.FilePath3D=files\\4dim\\2014\\
Geoinfo.FilePath3D=D:\\app_geoinfo\\app\\files\\4dim\\2014\\
#\uc804\ubb38\uac00\uc758\uacac
#전문가의견
Geoinfo.Report=files\\report\\
#\uc785\ub825\uc2dc\uc2a4\ud15c
#입력시스템
Geoinfo.WebFilePath=files\\web\\
Globals.FileExtImg=.jpeg,.jpg,.bmp,.tiff,.gif,.png
@ -53,4 +36,6 @@ Globals.FileExtZip=.hwp,.pdf,.zip,.xls,.xlsx,.ppt,.pptx
###############################################
JWT.secret_key=RnrxhWlQksportalSystem!@!@$#@!@#@!$12442321
# The token expires in 1,800,000 milliseconds, which is equal to 30 minutes.
JWT.access_expired=1800000
JWT.access_expired=1800000
O2MAP.wms.url=http://127.0.0.1:2936/o2map/services/wms

View File

@ -4,18 +4,14 @@
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
<!-- component-scan 설정 -->
<context:component-scan base-package="geoinfo">
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Component" />
<context:exclude-filter type="annotation" expression="org.springframework.stereotype.Controller" />
</context:component-scan>
<!-- 메시지소스빈 설정 -->
<bean id="egovMessageSource" class="egovframework.com.cmm.EgovMessageSource">
<property name="reloadableResourceBundleMessageSource">
<ref bean="messageSource" />
</property>
</bean>
<!-- 프로퍼티 파일 위치 설정 -->
<bean id="messageSource" class="org.springframework.context.support.ReloadableResourceBundleMessageSource">
@ -31,45 +27,6 @@
</property>
</bean>
<!-- Exception 발생시 후처리용 별도작업을 위해 실행환경의 LeveaTrace를 활용하도록 설정 -->
<bean id="leaveaTrace" class="egovframework.rte.fdl.cmmn.trace.LeaveaTrace">
<property name="traceHandlerServices">
<list>
<ref bean="traceHandlerService" />
</list>
</property>
</bean>
<!-- Exception 발생시 후처리용 별도작업을 위해 실행환경의 DefaultTrace Handle Manager 를 활용하도록 설정 -->
<bean id="traceHandlerService" class="egovframework.rte.fdl.cmmn.trace.manager.DefaultTraceHandleManager">
<property name="reqExpMatcher">
<ref bean="antPathMater" />
</property>
<property name="patterns">
<list>
<value>*</value>
</list>
</property>
<property name="handlers">
<list>
<ref bean="defaultTraceHandler" />
</list>
</property>
</bean>
<!-- Exception 발생시 후처리용 별도작업을 위해 실행환경의 AntPathMatcher 를 활용하도록 설정 -->
<bean id="antPathMater" class="org.springframework.util.AntPathMatcher" />
<!-- Exception 발생시 후처리용 별도작업을 위해 실행환경의 DefaultTraceHandler 를 활용하도록 설정 egovframework.rte.fdl.cmmn.trace.handler.DefaultTraceHandler -->
<bean id="defaultTraceHandler" class="egovframework.com.cmm.EgovComTraceHandler" />
<!-- For Pagination Tag 설정 -->
<bean id="imageRenderer" class="egovframework.com.cmm.ImagePaginationRenderer" />
<bean id="paginationManager" class="egovframework.rte.ptl.mvc.tags.ui.pagination.DefaultPaginationManager">
<property name="rendererType">
<map>
<entry key="image" value-ref="imageRenderer" />
</map>
</property>
</bean>
<!-- MULTIPART RESOLVERS -->
<!-- regular spring resolver -->
@ -77,17 +34,8 @@
<property name="maxUploadSize" value="1073741824" />
<property name="maxInMemorySize" value="1073741824" />
</bean>
<!-- <bean id="spring.RegularCommonsMultipartResolver" class="org.springframework.web.multipart.commons.CommonsMultipartResolver">
<property name="maxUploadSize" value="1073741824" />
<property name="maxInMemorySize" value="1073741824" />
</bean> -->
<!-- custom multi file resolver -->
<bean id="local.MultiCommonsMultipartResolver" class="egovframework.com.cmm.web.EgovMultipartResolver">
<property name="maxUploadSize" value="1073741824" />
<property name="maxInMemorySize" value="1073741824" />
</bean>
<!-- choose one from above and alias it to the name Spring expects -->
<!-- alias name="local.MultiCommonsMultipartResolver" alias="multipartResolver" / -->
<alias name="spring.RegularCommonsMultipartResolver" alias="multipartResolver" />

View File

@ -1,31 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx" xmlns:util="http://www.springframework.org/schema/util"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd">
<!-- SqlSession setup for MyBatis Database Layer -->
<!--
<bean id="sqlSession" class="org.mybatis.spring.SqlSessionFactoryBean">
-->
<bean id="sqlSession" class="geoinfo.com.database.HotDeployableMybatisSessionFactoryBean">
<property name="dataSource" ref="dataSource" />
<property name="configLocation" value="classpath:/egovframework/sqlmap/sql-map-config.xml" />
<property name="mapperLocations" value="classpath:/egovframework/sqlmap/mapper/**/*.xml" />
<property name="interval" value="500" /><!-- ms -->
</bean>
<bean class="egovframework.rte.psl.dataaccess.mapper.MapperConfigurer">
<property name="basePackage" value="geoinfo.**.**.service" />
</bean>
<bean id="sqlSessionTemplate" class="org.mybatis.spring.SqlSessionTemplate" destroy-method="clearCache">
<constructor-arg index="0" ref="sqlSession" />
</bean>
</beans>

View File

@ -2,32 +2,5 @@
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<!-- 프로퍼티 정보 설정 -->
<bean name="propertiesService" class="egovframework.rte.fdl.property.impl.EgovPropertyServiceImpl" destroy-method="destroy">
<property name="properties">
<map>
<entry key="pageUnit" value="10" />
<entry key="pageSize" value="10" />
<!-- 모바일 인증 정보 시작 -->
<!-- 회원사ID -->
<entry key="cert.cpId" value="KCTM1002"/>
<!-- URL코드 - 개발용(006002), 운영용(003002) -->
<entry key="cert.urlCode" value="006002"/>
<!-- 인증후 호출 URL - 개발용(http://localhost/mobileCertResult.do), 운영용(https://www.geoinfo.or.kr/mobileCertResult.do)-->
<entry key="cert.retUrl" value="http://localhost:8080/mobileCertResult.do"/>
<!-- 모바일 인증 정보 끝 -->
</map>
</property>
<property name="extFileName">
<set>
<map>
<entry key="encoding" value="UTF-8"/>
<entry key="filename" value="classpath*:/egovProps/*.properties"/>
</map>
</set>
</property>
</bean>
</beans>

View File

@ -1,24 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd">
<bean id="subsidenceJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="subsidenceScheduling" />
<property name="targetMethod" value="subsidenceListScheduler" />
<property name="concurrent" value="false" />
</bean>
<!-- 매일 밤 12시마다 실행 -->
<bean id="subsidenceTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="subsidenceJob" />
<property name="cronExpression" value="0 0 0 * * ?" />
</bean>
<bean id="subsidenceScheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="subsidenceTrigger" />
</list>
</property>
</bean>
</beans>

View File

@ -11,7 +11,7 @@ xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:util="http://www.spr
<context:component-scan base-package="geoinfo,com">
<context:component-scan base-package="com">
<context:include-filter type="annotation" expression="org.springframework.context.annotation.Configuration" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Service" />
<context:include-filter type="annotation" expression="org.springframework.stereotype.Repository" />
@ -22,56 +22,8 @@ xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:util="http://www.spr
<!-- <mvc:default-servlet-handler /> -->
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/*.do"/>
<!-- <mvc:mapping path="/**"/> -->
<!-- <mvc:mapping path="/map/**" />
<mvc:mapping path="/regi/**" />
<mvc:exclude-mapping path="/com/**"/> -->
<!-- <mvc:exclude-mapping path="/main/**"/>-->
<bean id="adminInterceptor" class="geoinfo.com.interceptor.AdminInterceptor"></bean>
</mvc:interceptor>
<!-- <mvc:interceptor> -->
<!-- <mvc:mapping path="/**" /> -->
<!-- <bean id="loginInterceptor" class="com.ygt.gtyoon.interceptor.LoginInterceptor"></bean> -->
<!-- </mvc:interceptor> -->
</mvc:interceptors>
<mvc:interceptors>
<mvc:interceptor>
<mvc:mapping path="/webMember.do" />
<mvc:mapping path="/meta_info.do" />
<mvc:mapping path="/index_db.do" />
<mvc:mapping path="/headerDb.do" />
<mvc:mapping path="/info/*.do" />
<mvc:mapping path="/info/*" />
<mvc:mapping path="/layer/*" />
<mvc:mapping path="/basic/*" />
<mvc:mapping path="/sandInfo/*" />
<mvc:mapping path="/web/input/*" />
<bean class="geoinfo.com.interceptor.UserLoginInterceptor" />
</mvc:interceptor>
<!-- 권한제어 -->
<mvc:interceptor>
<mvc:mapping path="/web*.do" />
<mvc:mapping path="/meta*.do" />
<mvc:mapping path="/index_db.do" />
<mvc:mapping path="/headerDb.do" />
<mvc:mapping path="/info/*.do" />
<mvc:mapping path="/info/*" />
<mvc:mapping path="/layer/*" />
<mvc:mapping path="/basic/*" />
<mvc:mapping path="/sandInfo/*" />
<bean class="geoinfo.com.interceptor.ClsCheckIntercepter" />
</mvc:interceptor>
</mvc:interceptors>
@ -83,13 +35,5 @@ xmlns:oxm="http://www.springframework.org/schema/oxm" xmlns:util="http://www.spr
<bean class="org.springframework.web.servlet.view.UrlBasedViewResolver" p:order="1" p:viewClass="org.springframework.web.servlet.view.JstlView" p:prefix="/WEB-INF/views/" p:suffix=".jsp">
</bean>
<bean id="tilesConfigurer" class="org.springframework.web.servlet.view.tiles3.TilesConfigurer">
<property name="definitions">
<list>
<value>/WEB-INF/tiles/tiles-layout.xml</value>
</list>
</property>
<property name="preparerFactoryClass" value="org.springframework.web.servlet.view.tiles3.SpringBeanPreparerFactory" />
</bean>
</beans>

View File

@ -62,14 +62,16 @@
</init-param>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.do</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.doo</url-pattern>
</servlet-mapping>
<servlet>
<servlet-name>O2MapService</servlet-name>
<servlet-class>com.geotwo.webserver.core.service.Service</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>O2MapService</servlet-name>
<url-pattern>/services/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>action</servlet-name>
<url-pattern>*.json</url-pattern>