Code Monkey home page Code Monkey logo

ognl's Introduction

Object-Graph Navigation Language - OGNL

Build Status Maven Central License

It's a simple Expression Language (EL) for Java, the code base sometime ago was migrated to the Apache commons ognl and this source code is used just to maintenance 3.x branch. The new version from Apache will start from 4.x

New! Apache commons ognl project

Out of incubator and now officially found here http://commons.apache.org/ognl/

FAQ

  • How to run OGNL in Google AppEngine?
    • you need to tell OGNL to not do security manager permission checks, which will fail since GAE has a security manager and you don't have the ability to add the OGNL-specific permissions. Therefore, somewhere in your initialization code, add this OgnlRuntime.setSecurityManager(null);

Development activity

Release notes - version 3.2

  • makes OgnlContext a bit more immutable
  • sets source and target in pom.xml to Java 1.7

Release notes - version 3.1.14, 3.0.20

  • drops access to #context and _classResolver via a magic keys - thanks to Łukasz Lenart

Release notes - version 3.1.12

  • fixes issue with returning the hasCode method when looking for a field code #32 - thanks to Łukasz Lenart

Release notes - version 3.1.11

  • fixes issue with returning default methods from interfaces implemented by parent class #30 - thanks to Vlastimil Dolejš

Release notes - version 3.1.10, 3.0.19

  • Does not treat negative numbers as an arithmetic operation #28 - thanks to Łukasz Lenart

Release notes - version 3.1.9, 3.0.18

  • Drops access to _memeberAccess field via a magic key - thanks to Łukasz Lenart

Release notes - version 3.1.8, 3.0.17, 3.0.6.2

  • Exposes flags to allow check if an expression is a chain or an arithmetic operation or a simple method - thanks to Łukasz Lenart

Release notes - version 3.1.6

  • fixes automatic type conversion to avoid double boxing #25/#26 - thanks to Christian Niessner from secadm GmbH

Release notes - version 3.1.5

  • fixes issue with selecting overloaded methods #23/#24 - thanks to Christian Niessner from secadm GmbH

Release notes - version 3.1.4

  • fixes issue with executing expressions on Java 8 plus adds an java like method matching #19 - thanks to marvkis

Release notes - version 3.1.3, 3.0.14, 3.0.6.1

  • Exposes flag to allow check if an expression is a sequence of simple expressions - thanks to Łukasz Lenart

Release notes - version 3.1.2

  • Fixes accessing statics within Enums OGNL-158 - thanks to Aleksandr Mashchenko

Release notes - version 3.1.1, 3.0.13

  • OgnlRuntime.invokeMethod can throw IllegalAccessException because of hash collisions was fixed OGNL-252 - thanks to Carlos Saona

Release notes - version 3.1

  • support for boolean expression in Strings was added, this can break backward compatibility #8 - thanks to Daniel Fernández

Release notes - version 3.0.12

  • lots of optimizations which should improve overall performance #9, #10, #11, #12 - thanks to Daniel Fernández
  • OGNL supports default methods in interfaces (Java 8) OGNL-249

Release notes - version 3.0.11

  • fixes problem with cacheKey too expensive to create WW-4485 - thanks to Jasper Rosenberg

Release notes - version 3.0.10

  • regression bug in ognl for "is..." property getters WW-4462 - if expression doesn't end with () is considered as a name of property a not the method itself thanks to Jasper Rosenberg

Release notes - version 3.0.9

  • replaced IntHashMap with ConcurrentMap to avoid deadlocks WW-4451 - thanks to Jasper Rosenberg

Release notes - version 3.0.8

  • added better capitalization logic for methods WW-3909 - thanks to Iwen.ma

Release notes - version 3.0.7

  • uses better method to calculate method's cache key WW-4113 - thanks to Kevin Su

Release notes - version 3.0.6

  • important performance improvement OGNL-224 - thanks to Pelladi Gabor
  • race condition fix OGNL-226 - thanks to Johno Crawford

Release notes - version 3.0.5

  • partially reverts previous changes to allow OGNL to work in environment with Security Manager enabled WW-3746

Release notes - version 3.0.4

  • Adds possibility to discover eval chain

Release notes - version 3.0.3

  • small fix to improve performance WW-3580

Release notes - version 3.0.2

  • small fix to solve a problem with compiling under JDK5

Release notes - version 3.0.1

  • Javassist added back as a dependency WW-3544

ognl's People

Contributors

lukaszlenart avatar jkuhnert avatar danielfernandez avatar marvin-enthus avatar rainerh avatar johnou avatar aleksandr-m avatar marvkis avatar vlastimil-dolejs avatar ksucontract avatar mlw5415 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.