从Scala开始,我正在使用一个需要类参数的Java库.例:
def service: OAuthService = new ServiceBuilder()
.provider(classOf[RunApi])
Run Code Online (Sandbox Code Playgroud)
RunApi是Java类.
我希望能够将各种课程传递给提供者.我有一个String格式的列表.
例如,如果我知道String格式的RunApi; 例如"com.me.RunApi",如何构造上述代码的等价物?
在Grails应用程序中,偶尔会在日志中看到"无法发出重定向":
2011-04-27 12:18:40,469 [TP-Processor13]错误GrailsExceptionResolver - 无法在此处发出重定向(..).之前对重定向(..)的调用已经重定向了响应.org.codehaus.groovy.grails.web.servlet.mvc.exceptions.CannotRedirectException:无法在此处发出重定向(..).之前对重定向(..)的调用已经重定向了响应.在com.coach.LoginController $ _closure2.doCall(LoginController.groovy:90)...
不知道如何追踪这一点.任何想法或建议?
托德
尝试使用 beforeDelete 事件在对象上集成测试 Grails GORM 删除。问题是在集成测试中没有触发 beforeDelete 事件:
class ChallengeMembershipTests extends GroovyTestCase {
void testQuitChallenge() {
VUser user = VUser.build()
assertNotNull("user should be saved", user.id)
UserChallenge challenge = UserChallenge.build(owner: user)
assertNotNull("challenge should be saved", challenge.id)
ChallengeMember member = ChallengeMember.build(challenge: challenge)
println "MEMBER: ${member}"
assertNotNull("member should be saved", member.id)
member.delete(flush:true)
}
}
Run Code Online (Sandbox Code Playgroud)
ChallengeMember的相关部分:
def beforeDelete = {
log.info "begin deleting challenge member ${this}"
user.removeFromChallenge_memberships(this)
challenge?.removeFromParticipants(this)
team?.removeFromMembers(this)
log.info "deleting challenge member ${this}"
}
Run Code Online (Sandbox Code Playgroud)
圣杯 1.3.5
有什么建议?
我为什么在乎?
我的测试失败的原因是:
org.springframework.dao.InvalidDataAccessApiUsageException:已删除的对象将通过级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1];嵌套异常是 org.hibernate.ObjectDeletedException:已删除的对象将通过级联重新保存(从关联中删除已删除的对象):[com.v.ChallengeMember#1]
但是,删除在浏览器中工作正常,因为 beforeDelete …
我是 Elxir 的新手。
如果我有以下地图
recos = %{"itemScores" => [%{"item" => "i0", "score" => 0.0126078259487225},
%{"item" => "i3", "score" => 0.007569829148848128},
%{"item" => "i4", "score" => 0.007023984270125072},
%{"item" => "i33", "score" => 0.0068045477730524495}]}
Run Code Online (Sandbox Code Playgroud)
(这是地图吧?)
我将如何枚举所有 itemScores 以生成 RecommendationItems 列表?
defmodule RecommendedItem do
defstruct [:item, :score]
end
Run Code Online (Sandbox Code Playgroud)
我想它会以某种方式为 Enum.map(recos["itemScores"], fn->) 开具发票,但我不确定。
在我自己编写之前,有没有人知道Groovy或Java是否预先构建了类似于Excel的sumproduct函数的东西?
sumproduct的准语法是这样的
def list1 = [2,3,4]
def list2 = [5,10,20]
SUMPRODUCT(list1, list2 ...) = 120
Run Code Online (Sandbox Code Playgroud)
你会得到120((2*5)+(3*10)+(4*20)= 120)
嗨,我想要一个生产数据库并在私有的开发环境中使用它.但是,我想匿名化数据.
我一直在寻找一个小时,但我发现的一切都是针对Oracle或SQL Server的......对于mysql来说都没有.
我有大约15个表,其中75个字段应该是匿名的.
有没有人找到推荐的解决方案?
我正在将旧的Java过滤器转换为Grails过滤器.(过滤器正在记录对特定静态图像的访问.)
问题是,我无法得到它!Grails是否支持静态资源前的过滤器?
class EmailImageFilters {
def filters = {
emailFilter(uri: '/images/**') {
log.info "email filter ${new Date()}"
before = {
return true;
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
我正在使用UIPerformance插件,但它在开发模式下没有打开.
Grails 1.3.5
我可以在以下情况下解雇:
emailFilter(controller: '*', action: '*') {
Run Code Online (Sandbox Code Playgroud)
但我需要通过静态资源; 例如/图像
建议?
Grails 1.3.7
数据绑定问题具有List内容的Command对象.示例命令:
class Tracker {
String name
String description
List<Unit> units = new ArrayList()
}
class Unit {
String name
Long unitMax
Long unitMin
}
Run Code Online (Sandbox Code Playgroud)
为Tracker创建GSP具有单位字段.一个例子:
<g:textField name="units[0].unitMax" value=""/>
Run Code Online (Sandbox Code Playgroud)
TrackerController保存方法:
def save = { Tracker trackerInstance ->
trackerInstance = trackingService.saveOrUpdateTracker(trackerInstance)
}
Run Code Online (Sandbox Code Playgroud)
但是,始终是java.lang.IndexOutOfBoundsException
或者,如果我将控制器更新为:
def save = {
Tracker trackerInstance = new Tracker()
trackerInstance.properties = params
....
Run Code Online (Sandbox Code Playgroud)
然后groovy.lang.ReadOnlyPropertyException:无法设置readonly属性:class的属性:com.redbrickhealth.dto.Tracker任何想法?
GORM与Command对象之间的绑定似乎有区别.
也许我需要为Unit扩展并注册PropertyEditorSupport?
-Todd
在根据请求设置正文时,我可以使用Jackson而不是JSON-lib和Groovy的HTTPBuilder吗?
例:
client.request(method){
uri.path = path
requestContentType = JSON
body = customer
response.success = { HttpResponseDecorator resp, JSONObject returnedUser ->
customer = getMapper().readValue(returnedUser.content[0].toString(), Customer.class)
return customer
}
}
Run Code Online (Sandbox Code Playgroud)
在这个例子中,我在处理响应时使用了Jackson,但我相信请求是使用JSON-lib.
试着用函数作为方法的参数来解决问题.一个简单的例子让我们使用:
case class IntegrationOption(id: Option[Long], name: String, iconUrl: String)
val availableOptions = List(
IntegrationOption(Some(1), "blah1", "dsaadsf.png"),
IntegrationOption(Some(2), "blah2", "dsaadsf.png")
)
Run Code Online (Sandbox Code Playgroud)
我想传递一个函数到这样的东西:
def getIntegrationOption(ARG) = {
availableOptions.find(ARG)
}
Run Code Online (Sandbox Code Playgroud)
ARG可能是:
x => x.id == Option(id)
Run Code Online (Sandbox Code Playgroud)
要么
x => x.name == "blah1"
Run Code Online (Sandbox Code Playgroud)
想法?思考?
grails ×4
groovy ×2
scala ×2
anonymous ×1
data-masking ×1
elixir ×1
filter ×1
grails-orm ×1
httpbuilder ×1
jackson ×1
json ×1
mysql ×1
sanitize ×1
security ×1