//xservices/trunk/src/java/shiro.ini |
---|
File deleted |
\ No newline at end of file |
Property changes: |
Deleted: svn:mime-type |
-text/plain |
\ No newline at end of property |
//xservices/trunk/src/java/log4j2.xml |
---|
0,0 → 1,16 |
<?xml version="1.0" encoding="UTF-8"?> |
<Configuration status="WARN"> |
<Appenders> |
<Console name="Console" target="SYSTEM_OUT"> |
<PatternLayout pattern="%d{HH:mm:ss.SSS} [%t] %-5level %logger{36} - %msg%n"/> |
</Console> |
</Appenders> |
<Loggers> |
<!-- Log anything else with error level --> |
<Root level="error"> |
<AppenderRef ref="Console"/> |
</Root> |
</Loggers> |
</Configuration> |
Property changes: |
Added: svn:mime-type |
+text/plain |
\ No newline at end of property |
//xservices/trunk/src/java/net/brutex/xservices/security/DirectoryPermission.java |
---|
16,7 → 16,9 |
package net.brutex.xservices.security; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.apache.shiro.authz.Permission; |
import org.apache.shiro.util.AntPathMatcher; |
26,7 → 28,8 |
*/ |
public class DirectoryPermission implements Permission { |
private final Logger logger = Logger.getLogger(DirectoryPermission.class); |
private final Logger logger = LogManager.getLogger(); |
private final String path; |
public DirectoryPermission(String antlikepath) { |
//xservices/trunk/src/java/net/brutex/xservices/security/PermissionResolver.java |
---|
19,7 → 19,8 |
import net.brutex.xservices.ws.XmlService; |
import net.brutex.xservices.ws.rs.FileInfo; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.Logger; |
import org.apache.logging.log4j.LogManager; |
import org.apache.shiro.authz.Permission; |
import org.apache.shiro.authz.permission.InvalidPermissionStringException; |
29,7 → 30,7 |
*/ |
public class PermissionResolver implements org.apache.shiro.authz.permission.PermissionResolver { |
final Logger logger = Logger.getLogger(PermissionResolver.class); |
private final Logger logger = LogManager.getLogger(); |
private final String DELIMITER = "||"; |
@Override |
//xservices/trunk/src/java/net/brutex/xservices/security/XServicesRealm.java |
---|
17,24 → 17,30 |
package net.brutex.xservices.security; |
import java.text.ParseException; |
import java.util.Collection; |
import java.util.Map; |
import org.apache.logging.log4j.Logger; |
import org.apache.log4j.Logger; |
import java.net.URI; |
import java.net.URISyntaxException; |
import java.net.URL; |
import javax.servlet.ServletContext; |
import org.apache.catalina.core.ApplicationContext; |
import org.apache.logging.log4j.LogManager; |
import org.apache.shiro.authc.AuthenticationException; |
import org.apache.shiro.authc.AuthenticationInfo; |
import org.apache.shiro.authc.AuthenticationToken; |
import org.apache.shiro.authz.AuthorizationInfo; |
import org.apache.shiro.authz.Permission; |
import org.apache.shiro.authz.permission.PermissionResolver; |
import org.apache.shiro.authz.SimpleAuthorizationInfo; |
import org.apache.shiro.config.Ini; |
import org.apache.shiro.io.ResourceUtils; |
import org.apache.shiro.realm.AuthorizingRealm; |
import org.apache.shiro.realm.text.IniRealm; |
import org.apache.shiro.realm.text.TextConfigurationRealm; |
import org.apache.shiro.subject.PrincipalCollection; |
import org.apache.shiro.util.Nameable; |
import org.apache.shiro.util.PermissionUtils; |
import org.apache.shiro.web.env.IniWebEnvironment; |
import org.apache.shiro.web.util.WebUtils; |
// TODO: Auto-generated Javadoc |
/* |
51,7 → 57,7 |
public class XServicesRealm extends IniRealm implements Nameable { |
/** The logger. */ |
private static Logger logger = Logger.getLogger(XServicesRealm.class); |
private final Logger logger = LogManager.getLogger(); |
/** The name. */ |
private String name; |
70,11 → 76,25 |
* 'shiro.ini' in classpath and {@link net.brutex.xservices.security.PermissionResolver PermissionResolver}. |
* |
*/ |
public XServicesRealm() { |
super(); |
this.setIni(Ini.fromResourcePath(ResourceUtils.CLASSPATH_PREFIX+"shiro.ini")); |
/* needs review */ |
URI classesRootDir; |
try { |
classesRootDir = getClass().getProtectionDomain().getCodeSource().getLocation().toURI(); |
String dir = classesRootDir.toString().replaceAll("%20", " "); |
dir = dir.substring(0, dir.lastIndexOf("WEB-INF")); |
this.setIni(Ini.fromResourcePath(dir+"/WEB-INF/shiro.ini")); |
} catch (URISyntaxException e) { |
logger.error(e.getMessage(), e); |
e.printStackTrace(); |
} |
this.setPermissionResolver(new net.brutex.xservices.security.PermissionResolver()); |
//this.setRolePermissionResolver(new RolePermissionResolver()); |
init(); |
} |
} |
} |
//xservices/trunk/src/java/net/brutex/xservices/security/XmlServicePermission.java |
---|
16,9 → 16,9 |
package net.brutex.xservices.security; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.Logger; |
import org.apache.logging.log4j.LogManager; |
import org.apache.shiro.authz.Permission; |
import org.apache.shiro.util.AntPathMatcher; |
/** |
* @author Brian Rosenberger, bru(at)brutex.de |
26,7 → 26,7 |
*/ |
public class XmlServicePermission implements Permission { |
private final Logger logger = Logger.getLogger(XmlServicePermission.class); |
private final Logger logger = LogManager.getLogger(); |
private final String permissionString; |
public XmlServicePermission(String permissionString) { |
//xservices/trunk/src/java/net/brutex/xservices/util/BrutexHSQLQuartzConnectionProvider.java |
---|
30,9 → 30,9 |
import java.util.ArrayList; |
import java.util.List; |
import org.apache.log4j.Level; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.Level; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.quartz.utils.ConnectionProvider; |
/** |
42,7 → 42,7 |
public class BrutexHSQLQuartzConnectionProvider implements ConnectionProvider { |
private Connection conn = null; |
private final Logger logger = Logger.getLogger(this.getClass().getCanonicalName()); |
private static final Logger logger = LogManager.getLogger(); |
public Connection getConnection() throws SQLException { |
//xservices/trunk/src/java/net/brutex/xservices/util/BrutexQuartzConnectionProvider.java |
---|
30,9 → 30,9 |
import java.util.ArrayList; |
import java.util.List; |
import org.apache.log4j.Level; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.Level; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.quartz.utils.ConnectionProvider; |
/** |
42,7 → 42,7 |
public class BrutexQuartzConnectionProvider implements ConnectionProvider { |
private Connection conn = null; |
private final Logger logger = Logger.getLogger(this.getClass().getCanonicalName()); |
private final Logger logger = LogManager.getLogger(); |
public Connection getConnection() throws SQLException { |
//xservices/trunk/src/java/net/brutex/xservices/util/CVSClient.java |
---|
2,11 → 2,13 |
/* */ |
/* */ import java.io.File; |
/* */ import net.brutex.xservices.types.scm.ItemType; |
/* */ import net.brutex.xservices.ws.rs.CVSInfoImpl; |
/* */ import org.apache.commons.configuration.Configuration; |
/* */ import org.apache.commons.configuration.ConfigurationException; |
/* */ import org.apache.commons.configuration.PropertiesConfiguration; |
/* */ import org.apache.log4j.Logger; |
import net.brutex.xservices.util.CVSRoot; |
import org.apache.commons.configuration2.PropertiesConfiguration; |
import org.apache.commons.configuration2.builder.fluent.Configurations; |
import org.apache.commons.configuration2.ex.ConfigurationException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
/* */ import org.netbeans.lib.cvsclient.Client; |
/* */ import org.netbeans.lib.cvsclient.admin.StandardAdminHandler; |
/* */ import org.netbeans.lib.cvsclient.command.CommandAbortedException; |
20,7 → 22,7 |
/* */ private final PServerConnection connection; |
/* */ private final CVSRoot root; |
/* */ private final GlobalOptions globalOptions; |
/* 41 */ final Logger logger = Logger.getLogger(CVSInfoImpl.class); |
/* 41 */ final Logger logger = LogManager.getLogger(); |
/* */ public final Client client; |
/* */ |
/* */ public Client getClient() |
34,7 → 36,9 |
/* 55 */ throw new ConfigurationException("Config file not found"); |
/* */ } |
/* 57 */ this.configfile = config; |
/* 58 */ Configuration configuration = new PropertiesConfiguration(this.configfile); |
Configurations configs = new Configurations(); |
/* 58 */ PropertiesConfiguration configuration = configs.properties(this.configfile); |
/* */ |
/* 60 */ String cvsroot = configuration.getString("CVSROOT"); |
/* 61 */ String workdir = configuration.getString("WORKDIR"); |
//xservices/trunk/src/java/net/brutex/xservices/util/FileWalker.java |
---|
25,8 → 25,10 |
import java.util.ArrayList; |
import java.util.List; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import net.brutex.xservices.types.FileInfoType; |
// TODO: Auto-generated Javadoc |
50,7 → 52,7 |
private final String pattern; |
/** The logger. */ |
final Logger logger = Logger.getLogger(FileWalker.class); |
private static final Logger logger = LogManager.getLogger(); |
List<Path> list; |
//xservices/trunk/src/java/net/brutex/xservices/util/cache/CacheExecutorService.java |
---|
28,33 → 28,28 |
* |
*/ |
public class CacheExecutorService implements ServletContextListener { |
static final String EXECUTOR_NAME = "CACHE_EXECUTOR"; |
private ExecutorService executor; |
public void contextInitialized(ServletContextEvent arg0) { |
ServletContext context = arg0.getServletContext(); |
int nr_executors = 5; |
ThreadFactory daemonFactory = new DaemonThreadFactory(); |
try { |
nr_executors = Integer.parseInt(context.getInitParameter("cache:thread-count")); |
} catch (NumberFormatException localNumberFormatException) { |
} |
if (nr_executors <= 1) |
this.executor = Executors.newSingleThreadExecutor(daemonFactory); |
else { |
this.executor = Executors.newFixedThreadPool(nr_executors, daemonFactory); |
} |
context.setAttribute("CACHE_EXECUTOR", this.executor); |
} |
public class CacheExecutorService |
implements ServletContextListener |
{ |
static final String EXECUTOR_NAME = "CACHE_EXECUTOR"; |
private ExecutorService executor; |
public void contextInitialized(ServletContextEvent arg0) |
{ |
ServletContext context = arg0.getServletContext(); |
int nr_executors = 5; |
ThreadFactory daemonFactory = new DaemonThreadFactory(); |
try { |
nr_executors = Integer.parseInt(context.getInitParameter("cache:thread-count")); |
} catch (NumberFormatException localNumberFormatException) { |
} |
if (nr_executors <= 1) |
this.executor = Executors.newSingleThreadExecutor(daemonFactory); |
else { |
this.executor = Executors.newFixedThreadPool(nr_executors, daemonFactory); |
} |
context.setAttribute("CACHE_EXECUTOR", this.executor); |
} |
public void contextDestroyed(ServletContextEvent arg0) { |
ServletContext context = arg0.getServletContext(); |
this.executor.shutdownNow(); |
} |
public void contextDestroyed(ServletContextEvent arg0) { |
ServletContext context = arg0.getServletContext(); |
this.executor.shutdownNow(); |
} |
} |
//xservices/trunk/src/java/net/brutex/xservices/util/cache/CacheServlet.java |
---|
21,11 → 21,11 |
import java.util.Enumeration; |
import java.util.List; |
import java.util.concurrent.ExecutorService; |
import javax.servlet.ServletContext; |
import javax.servlet.ServletException; |
import javax.servlet.http.HttpServlet; |
import net.brutex.xservices.types.scm.ObjectFactory; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
/** |
* @author Brian Rosenberger, bru(at)brutex.de |
35,8 → 35,8 |
public class CacheServlet extends HttpServlet |
{ |
private final Logger logger = Logger.getLogger(CacheServlet.class); |
List<File> configfiles = new ArrayList(); |
private static final Logger logger = LogManager.getLogger(); |
List<File> configfiles = new ArrayList<File>(); |
int cacheinterval; |
private final ObjectFactory FACTORY = new ObjectFactory(); |
//xservices/trunk/src/java/net/brutex/xservices/util/cache/FindingsCacheServlet.java |
---|
38,12 → 38,14 |
import net.brutex.xservices.types.scmfindings.GroupMatchListType; |
import net.brutex.xservices.types.scmfindings.ObjectFactory; |
import net.brutex.xservices.ws.rs.CVSInfoImpl; |
import org.apache.commons.configuration.ConfigurationException; |
import org.apache.commons.configuration.PropertiesConfiguration; |
import org.apache.jcs.JCS; |
import org.apache.jcs.access.exception.CacheException; |
import org.apache.log4j.Logger; |
import org.apache.commons.configuration2.PropertiesConfiguration; |
import org.apache.commons.configuration2.builder.fluent.Configurations; |
import org.apache.commons.configuration2.ex.ConfigurationException; |
import org.apache.commons.jcs.access.exception.CacheException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
/** |
* @author Brian Rosenberger, bru(at)brutex.de |
* |
52,8 → 54,7 |
public class FindingsCacheServlet extends HttpServlet { |
private static final long serialVersionUID = 4041338473949999960L; |
private final static Logger logger = Logger |
.getLogger(FindingsCacheServlet.class); |
private static final Logger logger = LogManager.getLogger(); |
private final List<File> configfiles = new ArrayList<File>(); |
private final ObjectFactory FACTORY = new ObjectFactory(); |
private ExecutorService executor; |
70,7 → 71,7 |
int i = 1; |
for(File f: configfiles) { |
//Initialise configuration bean using default values |
FindingsConfigBean cbean = new FindingsConfigBean(i, Logger.getLogger("worker-"+i+ "." + this.getClass().getName())); |
FindingsConfigBean cbean = new FindingsConfigBean(i, LogManager.getLogger("worker-"+i+ "." + this.getClass().getName())); |
i++; |
86,9 → 87,10 |
+ cbean.getCacheinterval()+ "' minutes"); |
} |
Configurations configs = new Configurations(); |
PropertiesConfiguration config = null; |
try { |
config = new PropertiesConfiguration(f); |
config = configs.properties(f); |
} catch (ConfigurationException e) { |
logger.error("Could not read parameter file at '"+f.getAbsolutePath()+"'"); |
return; |
//xservices/trunk/src/java/net/brutex/xservices/util/cache/FindingsConfigBean.java |
---|
19,8 → 19,7 |
import java.io.File; |
import java.util.List; |
import org.apache.commons.configuration.PropertiesConfiguration; |
import org.apache.log4j.Logger; |
import org.apache.logging.log4j.Logger; |
/** |
* @author Brian Rosenberger, bru(at)brutex.de |
27,11 → 26,10 |
* |
*/ |
public class FindingsConfigBean { |
private final Logger logger; |
private Logger logger; |
private final int instanceid; |
private File cvsconfig; |
private int cacheinterval = 15; |
private List<Object> filepatterns; |
40,8 → 38,8 |
public FindingsConfigBean(int instanceid, Logger logger) { |
this.instanceid = instanceid; |
this.logger = logger; |
logger.debug("Initialise FindingsConfigBean instance '"+instanceid+"'"); |
logger.debug("Initialise FindingsConfigBean instance '" + instanceid + "'"); |
} |
/** |
52,12 → 50,13 |
} |
/** |
* @param cacheinterval the cache interval to set |
* @param cacheinterval |
* the cache interval to set |
*/ |
public void setCacheinterval(int cacheinterval) { |
this.cacheinterval = cacheinterval; |
} |
/** |
* @return the cvsconfig |
*/ |
66,7 → 65,8 |
} |
/** |
* @param cvsconfig the cvsconfig to set |
* @param cvsconfig |
* the cvsconfig to set |
*/ |
public void setCvsconfig(File cvsconfig) { |
this.cvsconfig = cvsconfig; |
80,7 → 80,8 |
} |
/** |
* @param filepatterns the filepatterns to set |
* @param filepatterns |
* the filepatterns to set |
*/ |
public void setFilepatterns(List<Object> filepatterns) { |
this.filepatterns = filepatterns; |
94,7 → 95,8 |
} |
/** |
* @param contentpatterns the contentpatterns to set |
* @param contentpatterns |
* the contentpatterns to set |
*/ |
public void setContentpatterns(List<Object> contentpatterns) { |
this.contentpatterns = contentpatterns; |
103,5 → 105,5 |
/** |
* @param instanceid |
*/ |
} |
//xservices/trunk/src/java/net/brutex/xservices/ws/impl/XmlServiceImpl.java |
---|
26,17 → 26,12 |
import java.nio.charset.IllegalCharsetNameException; |
import java.util.Iterator; |
import java.util.List; |
import java.util.StringTokenizer; |
import javax.jws.WebService; |
import javax.ws.rs.NotAuthorizedException; |
import javax.xml.namespace.QName; |
import javax.xml.stream.XMLOutputFactory; |
import javax.xml.stream.XMLStreamException; |
import javax.xml.stream.XMLStreamReader; |
import javax.xml.stream.XMLStreamWriter; |
import net.brutex.xservices.security.DirectoryPermission; |
import net.brutex.xservices.types.AttributeType; |
import net.brutex.xservices.types.NamespaceListType; |
import net.brutex.xservices.types.NamespaceType; |
58,9 → 53,9 |
import org.apache.axiom.om.OMText; |
import org.apache.axiom.om.OMXMLBuilderFactory; |
import org.apache.axiom.om.xpath.AXIOMXPath; |
import org.apache.log4j.Logger; |
import org.apache.shiro.SecurityUtils; |
import org.apache.shiro.authz.UnauthorizedException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.apache.shiro.authz.annotation.RequiresPermissions; |
import org.jaxen.JaxenException; |
import org.jaxen.SimpleNamespaceContext; |
71,18 → 66,17 |
*/ |
@WebService(targetNamespace = "http://ws.xservices.brutex.net", endpointInterface = "net.brutex.xservices.ws.XmlService", serviceName = "XmlService") |
public class XmlServiceImpl implements XmlService { |
final Logger logger = Logger.getLogger(XmlServiceImpl.class); |
private static final Logger logger = LogManager.getLogger(); |
public String insertNodesFromFile(FileResource res, NamespaceListType nsList, String xpath, String xmlFragment) throws XServicesFault { |
public String insertNodesFromFile(FileResource res, NamespaceListType nsList, String xpath, String xmlFragment) |
throws XServicesFault { |
try { |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = res.getAntResource(null).getInputStream(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is) |
.getDocument(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMDocument fragdoc = null; |
if ((xmlFragment != null) && (new String(xmlFragment).length() > 0)) { |
fragdoc = OMXMLBuilderFactory.createOMBuilder( |
new StringReader("<XS>" + xmlFragment + "</XS>")) |
fragdoc = OMXMLBuilderFactory.createOMBuilder(new StringReader("<XS>" + xmlFragment + "</XS>")) |
.getDocument(); |
} else { |
throw new XServicesFault("No xmldata to insert."); |
114,57 → 108,56 |
} |
} |
public String replaceNodesFromFile(FileResource res, NamespaceListType nsList, String xpath, String xmlFragment) throws XServicesFault { |
public String replaceNodesFromFile(FileResource res, NamespaceListType nsList, String xpath, String xmlFragment) |
throws XServicesFault { |
try { |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = res.getAntResource(null).getInputStream(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMDocument fragdoc = null; |
if ((xmlFragment != null) && (new String(xmlFragment).length() > 0)) { |
fragdoc = OMXMLBuilderFactory.createOMBuilder( |
new StringReader("<XS>" + xmlFragment + "</XS>")) |
.getDocument(); |
} else { |
throw new XServicesFault("No xmldata to insert."); |
} |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = res.getAntResource(null).getInputStream(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMDocument fragdoc = null; |
if ((xmlFragment != null) && (new String(xmlFragment).length() > 0)) { |
fragdoc = OMXMLBuilderFactory.createOMBuilder(new StringReader("<XS>" + xmlFragment + "</XS>")) |
.getDocument(); |
} else { |
throw new XServicesFault("No xmldata to insert."); |
} |
// Initialize XPath context |
SimpleNamespaceContext context = createContext(nsList); |
axp.setNamespaceContext(context); |
axp.addNamespaces(fragdoc.getOMDocumentElement()); |
// Initialize XPath context |
SimpleNamespaceContext context = createContext(nsList); |
axp.setNamespaceContext(context); |
axp.addNamespaces(fragdoc.getOMDocumentElement()); |
OMDocument document = replaceNodes(sourcedoc, axp, fragdoc); |
OMDocument document = replaceNodes(sourcedoc, axp, fragdoc); |
StringWriter sw = new StringWriter(); |
XMLOutputFactory xof = XMLOutputFactory.newInstance(); |
XMLStreamWriter writer = xof.createXMLStreamWriter(sw); |
document.serialize(writer); |
StringWriter sw = new StringWriter(); |
XMLOutputFactory xof = XMLOutputFactory.newInstance(); |
XMLStreamWriter writer = xof.createXMLStreamWriter(sw); |
document.serialize(writer); |
this.logger.trace(sw.getBuffer().toString()); |
return sw.getBuffer().toString(); |
} catch (JaxenException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (XMLStreamException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (IOException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} |
this.logger.trace(sw.getBuffer().toString()); |
return sw.getBuffer().toString(); |
} catch (JaxenException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (XMLStreamException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (IOException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} |
} |
public String replaceNodes(String source, String encoding, NamespaceListType nsList, String xpath, String xmlFragment) throws XServicesFault { |
public String replaceNodes(String source, String encoding, NamespaceListType nsList, String xpath, |
String xmlFragment) throws XServicesFault { |
encoding = validateEncoding(encoding); |
try { |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = new ByteArrayInputStream(source.getBytes(encoding)); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is) |
.getDocument(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMDocument fragdoc = null; |
if ((xmlFragment != null) && (new String(xmlFragment).length() > 0)) { |
fragdoc = OMXMLBuilderFactory.createOMBuilder( |
new StringReader("<XS>" + xmlFragment + "</XS>")) |
fragdoc = OMXMLBuilderFactory.createOMBuilder(new StringReader("<XS>" + xmlFragment + "</XS>")) |
.getDocument(); |
} else { |
throw new XServicesFault("No xmldata to insert."); |
194,19 → 187,18 |
throw new XServicesFault(e); |
} |
} |
@RequiresPermissions("insertNodes") |
public String insertNodes(String source, String encoding, NamespaceListType nsList, String xpath, String xmlFragment) throws XServicesFault { |
public String insertNodes(String source, String encoding, NamespaceListType nsList, String xpath, |
String xmlFragment) throws XServicesFault { |
encoding = validateEncoding(encoding); |
try { |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = new ByteArrayInputStream(source.getBytes(encoding)); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is) |
.getDocument(); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMDocument fragdoc = null; |
if ((xmlFragment != null) && (new String(xmlFragment).length() > 0)) { |
fragdoc = OMXMLBuilderFactory.createOMBuilder( |
new StringReader("<XS>" + xmlFragment + "</XS>")) |
fragdoc = OMXMLBuilderFactory.createOMBuilder(new StringReader("<XS>" + xmlFragment + "</XS>")) |
.getDocument(); |
} else { |
throw new XServicesFault("No xmldata to insert."); |
238,19 → 230,21 |
} |
public String wrapInCDATA(String data) throws XServicesFault { |
String result =""; |
String result = ""; |
String[] tokens = data.split("\\]\\]>", -1); |
for(int i=0; i<tokens.length; i++) { |
result += tokens[i]; |
if (i+1 < tokens.length ) result += "]]]]><![CDATA[>"; |
for (int i = 0; i < tokens.length; i++) { |
result += tokens[i]; |
if (i + 1 < tokens.length) |
result += "]]]]><![CDATA[>"; |
} |
result = "<![CDATA[" + result + "]]>"; |
return result; |
} |
public StringSplitType selectXPath(String source, String encoding, NamespaceListType nsList, String xpath) throws XServicesFault { |
public StringSplitType selectXPath(String source, String encoding, NamespaceListType nsList, String xpath) |
throws XServicesFault { |
encoding = validateEncoding(encoding); |
try { |
StringSplitType rarray = new StringSplitType(); |
257,56 → 251,56 |
AXIOMXPath axp = new AXIOMXPath(xpath); |
InputStream is = new ByteArrayInputStream(source.getBytes(encoding)); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
// Initialize XPath context |
SimpleNamespaceContext context = createContext(nsList); |
axp.setNamespaceContext(context); |
List results = axp.selectNodes(sourcedoc); |
for(Object o : results) { |
for (Object o : results) { |
String text = null; |
if(o instanceof OMNode) { |
switch (((OMNode)o).getType()) { |
case OMNode.TEXT_NODE: |
text = ((OMText)o).getText(); |
break; |
case OMNode.COMMENT_NODE: |
text = ((OMComment)o).getValue(); |
break; |
case OMNode.PI_NODE: |
text = ((OMProcessingInstruction)o).getValue(); |
break; |
default: |
StringWriter sw = new StringWriter(); |
XMLOutputFactory xof = XMLOutputFactory.newInstance(); |
XMLStreamWriter writer = xof.createXMLStreamWriter(sw); |
((OMNode)o).serialize(writer); |
writer.flush(); |
text = sw.toString(); |
} |
} else if(o instanceof OMAttribute) { |
text = ((OMAttribute)o).getAttributeValue(); |
if (o instanceof OMNode) { |
switch (((OMNode) o).getType()) { |
case OMNode.TEXT_NODE: |
text = ((OMText) o).getText(); |
break; |
case OMNode.COMMENT_NODE: |
text = ((OMComment) o).getValue(); |
break; |
case OMNode.PI_NODE: |
text = ((OMProcessingInstruction) o).getValue(); |
break; |
default: |
StringWriter sw = new StringWriter(); |
XMLOutputFactory xof = XMLOutputFactory.newInstance(); |
XMLStreamWriter writer = xof.createXMLStreamWriter(sw); |
((OMNode) o).serialize(writer); |
writer.flush(); |
text = sw.toString(); |
} |
} else if (o instanceof OMAttribute) { |
text = ((OMAttribute) o).getAttributeValue(); |
} else { |
text = String.valueOf(o); |
} |
rarray.addStringMatch(text); |
} |
return rarray; |
} catch (JaxenException e) { |
} catch (JaxenException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (XMLStreamException e) { |
// TODO Auto-generated catch block |
// TODO Auto-generated catch block |
throw new XServicesFault(e.getMessage()); |
} catch (UnsupportedEncodingException e) { |
throw new XServicesFault(e); |
} catch (UnsupportedEncodingException e) { |
throw new XServicesFault(e); |
} |
} |
public String setAttribute(String source, String encoding, NamespaceListType nsList, String xpath, AttributeType attr) throws XServicesFault { |
public String setAttribute(String source, String encoding, NamespaceListType nsList, String xpath, |
AttributeType attr) throws XServicesFault { |
encoding = validateEncoding(encoding); |
try { |
StringSplitType rarray = new StringSplitType(); |
314,64 → 308,62 |
InputStream is = new ByteArrayInputStream(source.getBytes(encoding)); |
OMDocument sourcedoc = OMXMLBuilderFactory.createOMBuilder(is).getDocument(); |
OMFactory fac = OMAbstractFactory.getOMFactory(); |
// Initialize XPath context |
SimpleNamespaceContext context = createContext(nsList); |
axp.setNamespaceContext(context); |
List results = axp.selectNodes(sourcedoc); |
for(Object o : results) { |
for (Object o : results) { |
String text = null; |
if(o instanceof OMNode) { |
switch (((OMNode)o).getType()) { |
case OMNode.ELEMENT_NODE: |
OMElement node = ((OMElement)o); |
if(attr.value == null) { |
node.removeAttribute( node.getAttribute(new QName(attr.name))); |
} else { |
node.addAttribute(attr.name, attr.value, node.getNamespace()); |
} |
break; |
default: |
throw new XServicesFault("XPath expression did not match an element node."); |
if (o instanceof OMNode) { |
switch (((OMNode) o).getType()) { |
case OMNode.ELEMENT_NODE: |
OMElement node = ((OMElement) o); |
if (attr.value == null) { |
node.removeAttribute(node.getAttribute(new QName(attr.name))); |
} else { |
node.addAttribute(attr.name, attr.value, node.getNamespace()); |
} |
break; |
default: |
throw new XServicesFault("XPath expression did not match an element node."); |
} |
} else { |
throw new XServicesFault("XPath expression did not match a node."); |
} |
} |
StringWriter sw = new StringWriter(); |
XMLOutputFactory xof = XMLOutputFactory.newInstance(); |
XMLStreamWriter writer = xof.createXMLStreamWriter(sw); |
sourcedoc.serialize(writer); |
writer.flush(); |
return sw.toString(); |
} catch (JaxenException e) { |
return sw.toString(); |
} catch (JaxenException e) { |
e.printStackTrace(); |
throw new XServicesFault(e); |
} catch (XMLStreamException e) { |
// TODO Auto-generated catch block |
// TODO Auto-generated catch block |
throw new XServicesFault(e.getMessage()); |
} catch (UnsupportedEncodingException e) { |
throw new XServicesFault(e); |
} catch (UnsupportedEncodingException e) { |
throw new XServicesFault(e); |
} |
} |
private OMDocument insertNodes(OMDocument xmldocument, AXIOMXPath axp,OMDocument xmlfragment) throws XServicesFault { |
private OMDocument insertNodes(OMDocument xmldocument, AXIOMXPath axp, OMDocument xmlfragment) |
throws XServicesFault { |
List<?> olist = null; |
try { |
olist = axp.selectNodes(xmldocument.getOMDocumentElement()); |
this.logger.debug("XPath '" + axp.toString() + "' has " |
+ olist.size() + " matches."); |
this.logger.trace("XPath root expression is: '" + axp.debug() |
+ "'."); |
this.logger.debug("XPath '" + axp.toString() + "' has " + olist.size() + " matches."); |
this.logger.trace("XPath root expression is: '" + axp.debug() + "'."); |
} catch (JaxenException e) { |
throw new XServicesFault(e.getMessage(), e); |
} |
if (olist.size() == 0) |
throw new XServicesFault(Messages.getString("XmlService.no_match", |
new Object[] { axp.toString() })); |
throw new XServicesFault(Messages.getString("XmlService.no_match", new Object[] { axp.toString() })); |
// Prepare children to insert |
xmlfragment.build(); |
379,8 → 371,7 |
// Determine what has been matched |
OMContainer match = null; |
for (Object o : olist) { |
Iterator<?> children = xmlfragment.getOMDocumentElement() |
.getChildren(); |
Iterator<?> children = xmlfragment.getOMDocumentElement().getChildren(); |
if ((o instanceof OMNode)) { |
OMNode node = (OMNode) o; |
switch (node.getType()) { |
401,16 → 392,13 |
this.logger.debug(Messages.getString("XmlService.10")); |
break; |
default: |
this.logger.error("XPath matched " |
+ o.getClass().getCanonicalName() + " Node Type:" |
+ node.getType()); |
this.logger |
.error("XPath matched " + o.getClass().getCanonicalName() + " Node Type:" + node.getType()); |
this.logger.error(Messages.getString("XmlService.11")); |
throw new XServicesFault( |
Messages.getString("XmlService.12")); |
throw new XServicesFault(Messages.getString("XmlService.12")); |
} |
} else { |
this.logger.error("XPath matched " |
+ o.getClass().getCanonicalName()); |
this.logger.error("XPath matched " + o.getClass().getCanonicalName()); |
this.logger.error(Messages.getString("XmlService.11")); |
throw new XServicesFault(Messages.getString("XmlService.12")); |
} |
425,22 → 413,19 |
return xmldocument; |
} |
private OMDocument replaceNodes(OMDocument xmldocument, AXIOMXPath axp, OMDocument xmlfragment) |
throws XServicesFault { |
private OMDocument replaceNodes(OMDocument xmldocument, AXIOMXPath axp, OMDocument xmlfragment) throws XServicesFault { |
List<?> olist = null; |
try { |
olist = axp.selectNodes(xmldocument.getOMDocumentElement()); |
this.logger.debug("XPath '" + axp.toString() + "' has " |
+ olist.size() + " matches."); |
this.logger.trace("XPath root expression is: '" + axp.debug() |
+ "'."); |
this.logger.debug("XPath '" + axp.toString() + "' has " + olist.size() + " matches."); |
this.logger.trace("XPath root expression is: '" + axp.debug() + "'."); |
} catch (JaxenException e) { |
throw new XServicesFault(e.getMessage(), e); |
} |
if (olist.size() == 0) |
throw new XServicesFault(Messages.getString("XmlService.no_match", |
new Object[] { axp.toString() })); |
throw new XServicesFault(Messages.getString("XmlService.no_match", new Object[] { axp.toString() })); |
// Prepare children to insert |
xmlfragment.build(); |
448,8 → 433,7 |
// Determine what has been matched |
OMNode match = null; |
for (Object o : olist) { |
Iterator<?> children = xmlfragment.getOMDocumentElement() |
.getChildren(); |
Iterator<?> children = xmlfragment.getOMDocumentElement().getChildren(); |
if ((o instanceof OMNode)) { |
OMNode node = (OMNode) o; |
switch (node.getType()) { |
461,16 → 445,13 |
this.logger.debug(Messages.getString("XmlService.8")); |
break; |
default: |
this.logger.error("XPath matched " |
+ o.getClass().getCanonicalName() + " Node Type:" |
+ node.getType()); |
this.logger |
.error("XPath matched " + o.getClass().getCanonicalName() + " Node Type:" + node.getType()); |
this.logger.error(Messages.getString("XmlService.11")); |
throw new XServicesFault( |
Messages.getString("XmlService.12")); |
throw new XServicesFault(Messages.getString("XmlService.12")); |
} |
} else { |
this.logger.error("XPath matched " |
+ o.getClass().getCanonicalName()); |
this.logger.error("XPath matched " + o.getClass().getCanonicalName()); |
this.logger.error(Messages.getString("XmlService.11")); |
throw new XServicesFault(Messages.getString("XmlService.12")); |
} |
488,12 → 469,11 |
private SimpleNamespaceContext createContext(NamespaceListType nsList) { |
// Initialize XPath context |
SimpleNamespaceContext context = new SimpleNamespaceContext(); |
if(nsList != null) { |
if (nsList != null) { |
for (NamespaceType ns : nsList.getNamespaces()) { |
context.addNamespace(ns.getPrefix(), ns.getUri().toString()); |
this.logger.debug(Messages.getString("XmlService.0") |
+ ns.getPrefix() + "=\"" + ns.getUri().toString() |
+ "\"'"); |
this.logger.debug( |
Messages.getString("XmlService.0") + ns.getPrefix() + "=\"" + ns.getUri().toString() + "\"'"); |
} |
} else { |
logger.debug("No namespaces defined."); |
502,15 → 482,16 |
} |
private String validateEncoding(String encoding) throws XServicesFault { |
if(encoding == null || encoding.equals("")) { encoding=Charset.defaultCharset().displayName(); } |
try { |
if (encoding == null || encoding.equals("")) { |
encoding = Charset.defaultCharset().displayName(); |
} |
try { |
Charset.isSupported(encoding); |
} catch (IllegalCharsetNameException e) { |
throw new XServicesFault("Endcoding '"+encoding+"' is not supported by this JRE."); |
throw new XServicesFault("Endcoding '" + encoding + "' is not supported by this JRE."); |
} |
logger.debug("Setting source xml string encoding to '"+encoding+"'"); |
logger.debug("Setting source xml string encoding to '" + encoding + "'"); |
return encoding; |
} |
} |
//xservices/trunk/src/java/net/brutex/xservices/ws/rs/CVSInfoImpl.java |
---|
8,9 → 8,10 |
import java.net.URI; |
import java.util.List; |
import java.util.StringTokenizer; |
import javax.ws.rs.core.HttpHeaders; |
import javax.ws.rs.core.Response; |
import javax.ws.rs.core.Response.ResponseBuilder; |
import net.brutex.xservices.types.scm.AttributeType; |
import net.brutex.xservices.types.scm.ItemListType; |
import net.brutex.xservices.types.scm.ItemType; |
23,10 → 24,13 |
import net.brutex.xservices.util.BasicCVSListener; |
import net.brutex.xservices.util.CVSClient; |
import net.brutex.xservices.util.CVSRoot; |
import org.apache.commons.configuration.ConfigurationException; |
import org.apache.jcs.JCS; |
import org.apache.jcs.access.exception.CacheException; |
import org.apache.log4j.Logger; |
import org.apache.commons.configuration2.ex.ConfigurationException; |
import org.apache.commons.jcs.JCS; |
import org.apache.commons.jcs.access.CacheAccess; |
import org.apache.commons.jcs.access.exception.CacheException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.netbeans.lib.cvsclient.Client; |
import org.netbeans.lib.cvsclient.command.CommandAbortedException; |
import org.netbeans.lib.cvsclient.command.CommandException; |
42,7 → 46,7 |
import org.netbeans.lib.cvsclient.event.FileInfoEvent; |
public class CVSInfoImpl implements CVSInfo { |
final Logger logger = Logger.getLogger(CVSInfoImpl.class); |
private static final Logger logger = LogManager.getLogger(); |
final ObjectFactory FACTORY = new ObjectFactory(); |
final ItemListType list = this.FACTORY.createItemListType(); |
49,7 → 53,7 |
public Response getRepositoryFiles(HttpHeaders h, File f, String modules, |
boolean isRecursive, boolean showRevisions, boolean forceNoCache) { |
String cachekey = "getFiles" + f.toURI().toString(); |
this.logger.debug("forceNoCache=" + forceNoCache); |
CVSInfoImpl.logger.debug("forceNoCache=" + forceNoCache); |
ItemListType cacheresult = (ItemListType) getCacheInstance().get( |
cachekey); |
117,7 → 121,7 |
try { |
CVSInfoImpl.this.getCacheInstance().put(key, cvsfile); |
} catch (CacheException e) { |
CVSInfoImpl.this.logger.error("Could not cache item '" |
CVSInfoImpl.logger.error("Could not cache item '" |
+ key + "'", e); |
} |
} |
138,7 → 142,7 |
rlog.setRecursive(isRecursive); |
this.logger.info("Executing CVS command '" + rlog.getCVSCommand() |
CVSInfoImpl.logger.info("Executing CVS command '" + rlog.getCVSCommand() |
+ "' against '" + cvsclient.getRoot().host + "@" |
+ cvsclient.getRoot().repository + "'"); |
client.executeCommand(rlog, cvsclient.getGlobalOptions()); |
145,7 → 149,7 |
getCacheInstance().put(cachekey, this.list); |
} catch (ConfigurationException e) { |
this.logger.error("CVS Configuration File '" + f.getAbsolutePath() |
CVSInfoImpl.logger.error("CVS Configuration File '" + f.getAbsolutePath() |
+ f.getName() + "'not found.", e); |
} catch (CommandAbortedException e) { |
e.printStackTrace(); |
168,7 → 172,7 |
public Response getModules(HttpHeaders h, File f, boolean forceNoCache) { |
String cachekey = "Modules" + f.toURI().toString(); |
this.logger.debug("forceNoCache=" + forceNoCache); |
CVSInfoImpl.logger.debug("forceNoCache=" + forceNoCache); |
ModuleListType response = (ModuleListType) getCacheInstance().get( |
cachekey); |
196,12 → 200,12 |
CheckoutCommand co = new CheckoutCommand(); |
co.setShowModulesWithStatus(true); |
this.logger.info("Executing CVS command '" + co.getCVSCommand() |
CVSInfoImpl.logger.info("Executing CVS command '" + co.getCVSCommand() |
+ "' against '" + cvsclient.getRoot().host + "@" |
+ cvsclient.getRoot().repository + "'"); |
client.executeCommand(co, cvsclient.getGlobalOptions()); |
if (list.getModules().size() == 0) { |
this.logger.warn("Repository '" |
CVSInfoImpl.logger.warn("Repository '" |
+ cvsclient.getRoot().repository |
+ "' does not have modules"); |
} |
216,14 → 220,14 |
public Response getTags(HttpHeaders h, File f, boolean withFiles) { |
String cachekey = f.toURI().toString() + ":taglist"; |
this.logger.debug("Retrieving Tags from cache using key '" + cachekey |
CVSInfoImpl.logger.debug("Retrieving Tags from cache using key '" + cachekey |
+ "'"); |
TagListType tags = (TagListType) getCacheInstance().get(cachekey); |
if (tags != null) { |
this.logger.debug("Delivering Tags from cache."); |
CVSInfoImpl.logger.debug("Delivering Tags from cache."); |
return Response.ok(tags).build(); |
} |
this.logger.warn("Taglist not found in cache."); |
CVSInfoImpl.logger.warn("Taglist not found in cache."); |
return Response.noContent().build(); |
} |
235,17 → 239,17 |
ItemListType list = null; |
if (!forceNoCache) { |
this.logger.debug("Retrieving file content from cache using key '" |
CVSInfoImpl.logger.debug("Retrieving file content from cache using key '" |
+ cachekey + "'"); |
list = (ItemListType) getCacheInstance().get(cachekey); |
} |
if (list != null) { |
this.logger.debug("Delivering file content from cache."); |
CVSInfoImpl.logger.debug("Delivering file content from cache."); |
return Response.ok(list).build(); |
} |
this.logger.warn("File content not found in cache."); |
CVSInfoImpl.logger.warn("File content not found in cache."); |
list = this.FACTORY.createItemListType(); |
try { |
CVSClient cvsclient = new CVSClient(f); |
302,7 → 306,7 |
checkout.setModule(filestring); |
checkout.setPipeToOutput(true); |
this.logger.info("Execute CVS command '" + checkout.getCVSCommand() |
CVSInfoImpl.logger.info("Execute CVS command '" + checkout.getCVSCommand() |
+ "' against '" + cvsclient.getRoot().host + "@" |
+ cvsclient.getRoot().repository + "'"); |
client.executeCommand(checkout, cvsclient.getGlobalOptions()); |
322,14 → 326,14 |
return Response.noContent().build(); |
} |
public JCS getCacheInstance() { |
JCS jcs = null; |
public CacheAccess<Object, Object> getCacheInstance() { |
CacheAccess<Object, Object> jcs = null; |
String cacheinstance = "CVSCache"; |
try { |
this.logger.trace("Getting cache instance named 'CVSCache'"); |
CVSInfoImpl.logger.trace("Getting cache instance named 'CVSCache'"); |
jcs = JCS.getInstance("CVSCache"); |
} catch (CacheException e) { |
this.logger.error("Failed to get cache instance", e); |
CVSInfoImpl.logger.error("Failed to get cache instance", e); |
e.printStackTrace(); |
} |
return jcs; |
343,16 → 347,16 |
+ client.getRoot().repository; |
String cachestring = "FINDINGS-" + cvsroot; |
this.logger |
CVSInfoImpl.logger |
.debug("Fetch searchFileContent response from cache using cachekey '" |
+ cachestring + "'"); |
FindingsListType result = (FindingsListType) getCacheInstance() |
.get(cachestring); |
if (result != null) |
this.logger.debug("Found object for key '" + cachestring |
CVSInfoImpl.logger.debug("Found object for key '" + cachestring |
+ "' in cache."); |
else { |
this.logger.debug("Found no object for key '" + cachestring |
CVSInfoImpl.logger.debug("Found no object for key '" + cachestring |
+ "' in cache."); |
} |
//xservices/trunk/src/java/net/brutex/xservices/ws/rs/DIMCMInfo.java |
---|
28,7 → 28,7 |
import javax.ws.rs.core.Response; |
import javax.ws.rs.core.UriInfo; |
import org.apache.jcs.access.exception.CacheException; |
import org.apache.commons.jcs.access.exception.CacheException; |
import net.brutex.xservices.ws.XServicesFault; |
//xservices/trunk/src/java/net/brutex/xservices/ws/rs/DIMCMInfoImpl.java |
---|
33,16 → 33,20 |
import javax.ws.rs.core.Response; |
import javax.ws.rs.core.UriInfo; |
import org.apache.commons.configuration2.PropertiesConfiguration; |
import org.apache.commons.configuration2.builder.fluent.Configurations; |
import org.apache.commons.configuration2.ex.ConfigurationException; |
import org.apache.commons.jcs.JCS; |
import org.apache.commons.jcs.access.CacheAccess; |
import org.apache.commons.jcs.access.exception.CacheException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import net.brutex.xservices.cmtypes.ItemType; |
import net.brutex.xservices.cmtypes.ItemTypeList; |
import net.brutex.xservices.types.FileInfoType; |
import net.brutex.xservices.util.FileWalker; |
import org.apache.commons.configuration.ConfigurationException; |
import org.apache.commons.configuration.PropertiesConfiguration; |
import org.apache.jcs.JCS; |
import org.apache.jcs.access.exception.CacheException; |
import org.apache.log4j.Logger; |
/* |
76,7 → 80,7 |
*/ |
public class DIMCMInfoImpl implements DIMCMInfo { |
Logger logger = Logger.getLogger(DIMCMInfoImpl.class); |
Logger logger = LogManager.getLogger(); |
/* |
* (non-Javadoc) |
93,7 → 97,7 |
/* |
* try to hit cache first |
*/ |
JCS cache = JCS.getInstance("DIMCM"); |
CacheAccess<Object, Object> cache = JCS.getInstance("DIMCM"); |
String cachekey = projSpec + directory + String.valueOf(recursive); |
if(useCache) { |
ItemTypeList cacheresult = (ItemTypeList) cache.get(cachekey); |
328,7 → 332,8 |
*/ |
PropertiesConfiguration props; |
try { |
props = new PropertiesConfiguration(this.getClass() |
props = new Configurations().properties(this.getClass() |
.getClassLoader().getResource("/../dimcm.properties")); |
} catch (ConfigurationException e) { |
e.printStackTrace(); |
349,11 → 354,13 |
private String getBaseURL() { |
final String CACHE_BASEURL = "DIMCM.conf.baseurl"; |
try { |
JCS cache = JCS.getInstance("DIMCM"); |
CacheAccess<Object, Object> cache = JCS.getInstance("DIMCM"); |
String baseurl = (String) cache.get(CACHE_BASEURL); |
if(baseurl != null) return baseurl; |
PropertiesConfiguration props = new PropertiesConfiguration(this.getClass().getClassLoader().getResource("/../dimcm.properties")); |
Configurations configs = new Configurations(); |
PropertiesConfiguration props = configs.properties((this.getClass().getClassLoader().getResource("/../dimcm.properties"))); |
baseurl = props.getString("baseurl"); |
cache.put(CACHE_BASEURL, baseurl); |
return baseurl; |
//xservices/trunk/src/java/net/brutex/xservices/ws/rs/FileInfoImpl.java |
---|
51,9 → 51,11 |
import net.brutex.xservices.types.FileInfoType; |
import net.brutex.xservices.util.FileWalker; |
import org.apache.jcs.JCS; |
import org.apache.jcs.access.exception.CacheException; |
import org.apache.log4j.Logger; |
import org.apache.commons.jcs.JCS; |
import org.apache.commons.jcs.access.CacheAccess; |
import org.apache.commons.jcs.access.exception.CacheException; |
import org.apache.logging.log4j.LogManager; |
import org.apache.logging.log4j.Logger; |
import org.apache.shiro.SecurityUtils; |
import org.apache.shiro.authz.UnauthorizedException; |
65,7 → 67,7 |
public class FileInfoImpl implements FileInfo { |
Logger logger = Logger.getLogger(FileInfoImpl.class); |
Logger logger = LogManager.getLogger(); |
/* (non-Javadoc) |
88,7 → 90,7 |
String cachekey = level + "||" + withFiles + "||" + withDir + "||" + search + "||" + dir; |
try { |
logger.debug(String.format("Hitting cache with cachekey '%s'", cachekey)); |
JCS jcs = JCS.getInstance("FileCache"); |
CacheAccess<Object, Object> jcs = JCS.getInstance("FileCache"); |
/*Try to retrieve the file list from the cache*/ |
List<FileInfoType> list = (List<FileInfoType>)jcs.get(cachekey); |