erge branch 'develop'

Conflicts:
	.gitignore
exceptionHandle
xianbo 11 years ago
commit cd278cb795

2
.gitignore vendored

@ -11,4 +11,4 @@
/Gemfile
/Gemfile.lock
/db/schema.rb
/Gemfile.lock

@ -0,0 +1,211 @@
!SESSION 2014-03-11 16:33:06.446 -----------------------------------------------
eclipse.buildId=3.4.0.201304151603
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2014-03-11 16:33:20.829
!MESSAGE Connection to http://download.aptana.com/studio3-rcp/plugin/update/p2.index failed on download.aptana.com. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: download.aptana.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.eclipse.ecf.provider.filetransfer.events.socket.SocketEventCreateUtil.createSocket(SocketEventCreateUtil.java:43)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:81)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:73)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:65)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1142)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.openStreams(HttpClientRetrieveFileTransfer.java:710)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:889)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:576)
at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:349)
at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.readInto(FileReader.java:295)
at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:87)
at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:137)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadIndexFile(AbstractRepositoryManager.java:721)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:640)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:150)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:128)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:72)
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1006 2014-03-11 16:33:21.110
!MESSAGE Unknown Host: http://download.aptana.com/studio3-rcp/plugin/update/content.xml
!STACK 0
java.net.UnknownHostException: download.aptana.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.eclipse.ecf.provider.filetransfer.events.socket.SocketEventCreateUtil.createSocket(SocketEventCreateUtil.java:43)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:81)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:73)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:65)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:227)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!SESSION 2014-03-11 16:46:11.935 -----------------------------------------------
eclipse.buildId=3.4.0.201304151603
java.version=1.6.0_24
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=win32, ARCH=x86, WS=win32, NL=zh_CN
Command-line arguments: -os win32 -ws win32 -arch x86
!ENTRY org.eclipse.equinox.p2.transport.ecf 2 0 2014-03-11 16:46:21.061
!MESSAGE Connection to http://download.aptana.com/studio3-rcp/plugin/update/p2.index failed on download.aptana.com. Retry attempt 0 started
!STACK 0
java.net.UnknownHostException: download.aptana.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.eclipse.ecf.provider.filetransfer.events.socket.SocketEventCreateUtil.createSocket(SocketEventCreateUtil.java:43)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:81)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:73)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:65)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.performConnect(HttpClientRetrieveFileTransfer.java:1142)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientRetrieveFileTransfer.openStreams(HttpClientRetrieveFileTransfer.java:710)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:889)
at org.eclipse.ecf.provider.filetransfer.retrieve.AbstractRetrieveFileTransfer.sendRetrieveRequest(AbstractRetrieveFileTransfer.java:576)
at org.eclipse.ecf.provider.filetransfer.retrieve.MultiProtocolRetrieveAdapter.sendRetrieveRequest(MultiProtocolRetrieveAdapter.java:106)
at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.sendRetrieveRequest(FileReader.java:349)
at org.eclipse.equinox.internal.p2.transport.ecf.FileReader.readInto(FileReader.java:295)
at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:87)
at org.eclipse.equinox.internal.p2.transport.ecf.RepositoryTransport.download(RepositoryTransport.java:137)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadIndexFile(AbstractRepositoryManager.java:721)
at org.eclipse.equinox.internal.p2.repository.helpers.AbstractRepositoryManager.loadRepository(AbstractRepositoryManager.java:640)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:96)
at org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager.loadRepository(MetadataRepositoryManager.java:92)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.getAvailableRepositories(UpdateChecker.java:150)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker.checkForUpdates(UpdateChecker.java:128)
at org.eclipse.equinox.internal.p2.updatechecker.UpdateChecker$UpdateCheckThread.run(UpdateChecker.java:72)
!ENTRY org.eclipse.equinox.p2.transport.ecf 4 1006 2014-03-11 16:46:21.311
!MESSAGE Unknown Host: http://download.aptana.com/studio3-rcp/plugin/update/content.xml
!STACK 0
java.net.UnknownHostException: download.aptana.com
at java.net.PlainSocketImpl.connect(Unknown Source)
at java.net.SocksSocketImpl.connect(Unknown Source)
at java.net.Socket.connect(Unknown Source)
at org.eclipse.ecf.provider.filetransfer.events.socket.SocketEventCreateUtil.createSocket(SocketEventCreateUtil.java:43)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:81)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:73)
at org.eclipse.ecf.internal.provider.filetransfer.httpclient.ECFHttpClientProtocolSocketFactory.createSocket(ECFHttpClientProtocolSocketFactory.java:65)
at org.apache.commons.httpclient.HttpConnection.open(HttpConnection.java:707)
at org.apache.commons.httpclient.MultiThreadedHttpConnectionManager$HttpConnectionAdapter.open(MultiThreadedHttpConnectionManager.java:1361)
at org.apache.commons.httpclient.HttpMethodDirector.executeWithRetry(HttpMethodDirector.java:387)
at org.apache.commons.httpclient.HttpMethodDirector.executeMethod(HttpMethodDirector.java:171)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:397)
at org.apache.commons.httpclient.HttpClient.executeMethod(HttpClient.java:346)
at org.eclipse.ecf.provider.filetransfer.httpclient.HttpClientFileSystemBrowser.runRequest(HttpClientFileSystemBrowser.java:227)
at org.eclipse.ecf.provider.filetransfer.browse.AbstractFileSystemBrowser$DirectoryJob.run(AbstractFileSystemBrowser.java:69)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
!ENTRY org.eclipse.core.resources 4 1 2014-03-11 16:49:31.442
!MESSAGE Problems occurred while refreshing local changes
!SUBENTRY 1 org.eclipse.core.resources 4 1 2014-03-11 16:49:31.442
!MESSAGE Problems occurred while refreshing local changes
!STACK 1
org.eclipse.core.internal.resources.ResourceException: Errors occurred while refreshing resources with the local file system.
at org.eclipse.core.internal.localstore.FileSystemResourceManager.refreshResource(FileSystemResourceManager.java:923)
at org.eclipse.core.internal.localstore.FileSystemResourceManager.refresh(FileSystemResourceManager.java:904)
at org.eclipse.core.internal.resources.Resource.refreshLocal(Resource.java:1663)
at org.eclipse.core.internal.refresh.RefreshJob.runInWorkspace(RefreshJob.java:167)
at org.eclipse.core.internal.resources.InternalWorkspaceJob.run(InternalWorkspaceJob.java:38)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Contains: The project description file (.project) for 'trustie2' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
!SUBENTRY 2 org.eclipse.core.resources 4 271 2014-03-11 16:49:31.442
!MESSAGE Errors occurred while refreshing resources with the local file system.
!SUBENTRY 3 org.eclipse.core.resources 4 567 2014-03-11 16:49:31.442
!MESSAGE The project description file (.project) for 'trustie2' is missing. This file contains important information about the project. The project will not function properly until this file is restored.
!ENTRY com.aptana.ruby.core 4 0 2014-03-11 17:05:47.412
!MESSAGE (eval):1: Use RbConfig instead of obsolete and deprecated Config.
(eval):1: warning: variable $= is no longer effective
(eval):1: warning: variable $KCODE is no longer effective
(eval):1: warning: variable $KCODE is no longer effective
D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:180:in `eval': Permission denied - E:\code\trustie\trustie2\.metadata\.plugins\com.aptana.ruby.core\1184073882\4 (Errno::EACCES)
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:180:in `eval'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:180:in `block (3 levels) in <main>'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:179:in `each'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:179:in `block (2 levels) in <main>'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:178:in `open'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:178:in `block in <main>'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:152:in `each'
from D:/Users/nudt/AppData/Local/Aptana Studio 3/configuration/org.eclipse.osgi/bundles/93/1/.cp/ruby/core_stubber.rb:152:in `<main>'
!ENTRY com.aptana.ruby.core 4 0 2014-03-11 17:05:50.704
!MESSAGE (Build 3.4.0.201304151603) [ERROR] Not supported yet.
!STACK 0
java.lang.UnsupportedOperationException: Not supported yet.
at org.jrubyparser.ast.LambdaNode.accept(LambdaNode.java:58)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitHashNode(InOrderVisitor.java:414)
at org.jrubyparser.ast.HashNode.accept(HashNode.java:57)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitCallNode(InOrderVisitor.java:193)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitCallNode(SourceElementVisitor.java:230)
at org.jrubyparser.ast.CallNode.accept(CallNode.java:70)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitLocalAsgnNode(InOrderVisitor.java:456)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitLocalAsgnNode(SourceElementVisitor.java:839)
at org.jrubyparser.ast.LocalAsgnNode.accept(LocalAsgnNode.java:62)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitIfNode(InOrderVisitor.java:438)
at org.jrubyparser.ast.IfNode.accept(IfNode.java:65)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitNewlineNode(InOrderVisitor.java:525)
at org.jrubyparser.ast.NewlineNode.accept(NewlineNode.java:67)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitDefnNode(InOrderVisitor.java:299)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitDefnNode(SourceElementVisitor.java:346)
at org.jrubyparser.ast.DefnNode.accept(DefnNode.java:51)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitNewlineNode(InOrderVisitor.java:525)
at org.jrubyparser.ast.NewlineNode.accept(NewlineNode.java:67)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitClassNode(InOrderVisitor.java:213)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitClassNode(SourceElementVisitor.java:260)
at org.jrubyparser.ast.ClassNode.accept(ClassNode.java:68)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitNewlineNode(InOrderVisitor.java:525)
at org.jrubyparser.ast.NewlineNode.accept(NewlineNode.java:67)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitModuleNode(InOrderVisitor.java:517)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitModuleNode(SourceElementVisitor.java:824)
at org.jrubyparser.ast.ModuleNode.accept(ModuleNode.java:66)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.core.ast.InOrderVisitor.visitNewlineNode(InOrderVisitor.java:525)
at org.jrubyparser.ast.NewlineNode.accept(NewlineNode.java:67)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:37)
at com.aptana.ruby.core.ast.InOrderVisitor.visitRootNode(InOrderVisitor.java:668)
at com.aptana.ruby.core.ast.SourceElementVisitor.visitRootNode(SourceElementVisitor.java:848)
at org.jrubyparser.ast.RootNode.accept(RootNode.java:84)
at com.aptana.ruby.core.ast.AbstractVisitor.acceptNode(AbstractVisitor.java:53)
at com.aptana.ruby.internal.core.index.RubyFileIndexingParticipant.indexAST(RubyFileIndexingParticipant.java:73)
at com.aptana.ruby.internal.core.index.RubyFileIndexingParticipant.indexSource(RubyFileIndexingParticipant.java:61)
at com.aptana.ruby.internal.core.index.RubyFileIndexingParticipant.index(RubyFileIndexingParticipant.java:37)
at com.aptana.index.core.IndexRequestJob.indexFileStores(IndexRequestJob.java:205)
at com.aptana.index.core.IndexContainerJob.run(IndexContainerJob.java:114)
at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<connections/>

@ -0,0 +1,5 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="PromoteToProjectWizard">
</section>
</section>

@ -0,0 +1,11 @@
class ArgumentError < StandardError
protected
private
end

@ -0,0 +1,13 @@
ARGV = []
TRUE = true
FALSE = false
STDOUT = IO.new
STDIN = IO.new
STDERR = IO.new
ENV = {}
NIL = nil
RUBY_PATCHLEVEL = 392
RUBY_COPYRIGHT = 'ruby - Copyright (C) 1993-2013 Yukihiro Matsumoto'
TOPLEVEL_BINDING = Binding.new
RUBY_VERSION = '1.9.3'
RUBY_PLATFORM = 'i386-mingw32'

@ -0,0 +1,24 @@
$; = nil
$-F = nil
$@ = nil
$! = nil
$SAFE = 0
$~ = nil
$& = nil
$` = nil
$' = nil
$+ = nil
$= = false
$KCODE = nil
$-K = nil
$, = nil
$/ = "\n"
$-0 = "\n"
$\ = nil
$_ = nil
$stdin = IO.new
$stdout = IO.new
$stderr = IO.new
$> = IO.new
$< = ARGF
$. = 0

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="BasicNewProjectResourceWizard">
<item value="E:\code" key="OUTSIDE_LOCATION"/>
</section>
</section>

@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<connection>
<connection>
<name>Default</name>
<source>file:/C:/Users/nudt</source>
</connection>
</connection>

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<sites/>

@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<servers>
<server host="0.0.0.0" port="3000" project="E:/code/demo" type="org.radrails.rails.railsServer">
<name>demo</name>
</server>
</servers>

@ -0,0 +1,3 @@
#safe table
#Tue Mar 11 17:27:27 CST 2014
connections=connections.9

@ -0,0 +1,4 @@
#safe table
#Tue Mar 11 17:27:27 CST 2014
defaultConnection=defaultConnection.9
sites=sites.9

@ -0,0 +1,3 @@
#safe table
#Tue Mar 11 17:27:27 CST 2014
webservers=webservers.8

@ -0,0 +1,15 @@
AbstractTextEditor.Color.Background=20,20,20
AbstractTextEditor.Color.Background.SystemDefault=false
AbstractTextEditor.Color.Foreground=248,248,248
AbstractTextEditor.Color.Foreground.SystemDefault=false
AbstractTextEditor.Color.SelectionForeground=248,248,248
AbstractTextEditor.Color.SelectionForeground.SystemDefault=false
CONFLICTING_COLOR=66,14,9
INCOMING_COLOR=235,235,235
OUTGOING_COLOR=235,235,235
RESOLVED_COLOR=37,59,34
additionIndicationColor=37,59,34
changeIndicationColor=37,59,34
currentLineColor=27,27,27
deletionIndicationColor=66,14,9
eclipse.preferences.version=1

@ -0,0 +1,2 @@
activeProject=demo
eclipse.preferences.version=1

@ -0,0 +1,2 @@
JS_INDEX_VERSION=0.36
eclipse.preferences.version=1

@ -0,0 +1,2 @@
eclipse.preferences.version=1
last_known_studio_version=3.4.0.1358388620

@ -0,0 +1,3 @@
EDITOR_LINE_NUMBER_SET=true
WORKSPACE_ENCODING_SET=true
eclipse.preferences.version=1

File diff suppressed because one or more lines are too long

@ -0,0 +1,3 @@
IDEHasLaunchedBefore=true
PerspectiveVersion=103
eclipse.preferences.version=1

@ -0,0 +1,4 @@
eclipse.preferences.version=1
encoding=UTF-8
refresh.enabled=true
version=1

@ -0,0 +1,7 @@
eclipse.preferences.version=1
org.eclipse.debug.ui.PREF_CHANGED_VALUE_BACKGROUND=74,65,13
org.eclipse.debug.ui.PREF_LAUNCH_PERSPECTIVES=<?xml version\="1.0" encoding\="UTF-8" standalone\="no"?>\r\n<launchPerspectives/>\r\n
org.eclipse.debug.ui.consoleBackground=20,20,20
org.eclipse.debug.ui.errorColor=255,0,0
org.eclipse.debug.ui.inColor=95,175,176
org.eclipse.debug.ui.outColor=248,248,248

@ -0,0 +1,2 @@
eclipse.preferences.version=1
org.eclipse.search.potentialMatch.fgColor=94,101,105

@ -0,0 +1,2 @@
browsers=<?xml version\="1.0" encoding\="UTF-8"?>\r\n<web-browsers current\="0">\r\n<system/>\r\n<external location\="C\:\\Program Files\\Internet Explorer\\iexplore.exe" name\="Internet Explorer"/>\r\n</web-browsers>
eclipse.preferences.version=1

@ -0,0 +1,40 @@
AbstractTextEditor.Color.Background=20,20,20
AbstractTextEditor.Color.Background.SystemDefault=false
AbstractTextEditor.Color.Foreground=248,248,248
AbstractTextEditor.Color.Foreground.SystemDefault=false
AbstractTextEditor.Color.SelectionBackground=60,64,67
AbstractTextEditor.Color.SelectionBackground.SystemDefault=false
AbstractTextEditor.Color.SelectionForeground=248,248,248
AbstractTextEditor.Color.SelectionForeground.SystemDefault=false
CONFLICTING_COLOR=66,14,9
INCOMING_COLOR=235,235,235
OUTGOING_COLOR=235,235,235
OccurrenceIndicationColor=94,101,105
RESOLVED_COLOR=37,59,34
additionIndicationColor=37,59,34
changeIndicationColor=37,59,34
currentIPColor=14,34,49
currentLineColor=27,27,27
deletionIndicationColor=66,14,9
eclipse.preferences.version=1
htmlTagPairOccurrenceIndication=true
htmlTagPairOccurrenceIndicationColor=94,94,94
htmlTagPairOccurrenceIndicationHighlighting=false
htmlTagPairOccurrenceIndicationTextStyle=BOX
lineNumberRuler=true
occurrenceIndicationColor=60,64,67
pydevOccurrenceHighlighting=false
pydevOccurrenceIndication=true
pydevOccurrenceIndicationColor=94,94,94
pydevOccurrenceIndicationTextStyle=BOX
rubyBlockPairOccurrenceIndication=true
rubyBlockPairOccurrenceIndicationColor=94,94,94
rubyBlockPairOccurrenceIndicationHighlighting=false
rubyBlockPairOccurrenceIndicationTextStyle=BOX
searchResultIndicationColor=94,101,105
secondaryIPColor=14,34,49
writeOccurrenceIndicationColor=60,64,67
xmlTagPairOccurrenceIndication=true
xmlTagPairOccurrenceIndicationColor=94,94,94
xmlTagPairOccurrenceIndicationHighlighting=false
xmlTagPairOccurrenceIndicationTextStyle=BOX

@ -0,0 +1,7 @@
PROBLEMS_FILTERS_MIGRATE=true
SHOW_COOLBAR=true
SHOW_PERSPECTIVEBAR=true
eclipse.preferences.version=1
platformState=1394526372425
quickStart=false
tipsAndTricks=true

@ -0,0 +1,9 @@
AbstractTextEditor.Color.Background=20,20,20
AbstractTextEditor.Color.Background.SystemDefault=false
AbstractTextEditor.Color.Foreground=248,248,248
AbstractTextEditor.Color.Foreground.SystemDefault=false
AbstractTextEditor.Color.SelectionBackground=60,64,67
AbstractTextEditor.Color.SelectionForeground=248,248,248
AbstractTextEditor.Color.SelectionForeground.SystemDefault=false
currentLineColor=27,27,27
eclipse.preferences.version=1

@ -0,0 +1,21 @@
ACTIVE_HYPERLINK_COLOR=84,143,160
HYPERLINK_COLOR=84,143,160
com.vectrace.mercurialeclipse.ui.colorsandfonts.IgnoredBackgroundColor=20,20,20
com.vectrace.mercurialeclipse.ui.colorsandfonts.IgnoredForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.addedBackgroundColor=37,59,34
com.vectrace.mercurialeclipse.ui.colorsandfonts.addedForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.changedBackgroundColor=74,65,13
com.vectrace.mercurialeclipse.ui.colorsandfonts.changedForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.conflictBackgroundColor=20,20,20
com.vectrace.mercurialeclipse.ui.colorsandfonts.conflictForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.deletedBackgroundColor=66,14,9
com.vectrace.mercurialeclipse.ui.colorsandfonts.deletedForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.removedBackgroundColor=66,14,9
com.vectrace.mercurialeclipse.ui.colorsandfonts.removedForegroundColor=248,248,248
com.vectrace.mercurialeclipse.ui.colorsandfonts.unknownBackgroundColor=20,20,20
com.vectrace.mercurialeclipse.ui.colorsandfonts.unknownForegroundColor=248,248,248
eclipse.preferences.version=1
hyperlinkColor=84,143,160
hyperlinkColor.SystemDefault=false
org.eclipse.egit.ui.UncommittedChangeBackgroundColor=37,59,34
org.eclipse.egit.ui.UncommittedChangeForegroundColor=248,248,248

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.aptana.js.debug.core.webbrowserLaunchConfigurationType">
<booleanAttribute key="advancedRunEnabled" value="false"/>
<booleanAttribute key="appendProjectName" value="true"/>
<stringAttribute key="browserExecutable" value=""/>
<stringAttribute key="browserNature" value="Firefox"/>
<stringAttribute key="externalBaseUrl" value=""/>
<stringAttribute key="httpGetData" value=""/>
<stringAttribute key="httpPostContentType" value=""/>
<stringAttribute key="httpPostData" value=""/>
<booleanAttribute key="overrideDebugPreferences" value="false"/>
<intAttribute key="serverType" value="1"/>
<intAttribute key="startActionType" value="1"/>
<stringAttribute key="startPagePath" value=""/>
<stringAttribute key="startPageUrl" value=""/>
<booleanAttribute key="suspendOnDebuggerKeywords" value="true"/>
<booleanAttribute key="suspendOnErrors" value="true"/>
<booleanAttribute key="suspendOnExceptions" value="false"/>
<booleanAttribute key="suspendOnFirstLine" value="false"/>
</launchConfiguration>

@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchConfiguration type="com.aptana.js.debug.core.webbrowserLaunchConfigurationType">
<booleanAttribute key="advancedRunEnabled" value="false"/>
<booleanAttribute key="appendProjectName" value="true"/>
<stringAttribute key="browserExecutable" value="C:\Program Files (x86)\Internet Explorer\iexplore.exe"/>
<stringAttribute key="browserNature" value="Internet Explorer"/>
<stringAttribute key="externalBaseUrl" value=""/>
<stringAttribute key="httpGetData" value=""/>
<stringAttribute key="httpPostContentType" value=""/>
<stringAttribute key="httpPostData" value=""/>
<booleanAttribute key="overrideDebugPreferences" value="false"/>
<intAttribute key="serverType" value="1"/>
<intAttribute key="startActionType" value="1"/>
<stringAttribute key="startPagePath" value=""/>
<stringAttribute key="startPageUrl" value=""/>
<booleanAttribute key="suspendOnDebuggerKeywords" value="true"/>
<booleanAttribute key="suspendOnErrors" value="true"/>
<booleanAttribute key="suspendOnExceptions" value="false"/>
<booleanAttribute key="suspendOnFirstLine" value="false"/>
</launchConfiguration>

@ -0,0 +1,25 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<launchHistory>
<launchGroup id="org.eclipse.ui.externaltools.launchGroup">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.profile">
<mruHistory/>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.debug">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Firefox - Internal Server&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Internet Explorer - Internal Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
<launchGroup id="org.eclipse.debug.ui.launchGroup.run">
<mruHistory>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Firefox - Internal Server&quot;/&gt;&#13;&#10;"/>
<launch memento="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; standalone=&quot;no&quot;?&gt;&#13;&#10;&lt;launchConfiguration local=&quot;true&quot; path=&quot;Internet Explorer - Internal Server&quot;/&gt;&#13;&#10;"/>
</mruHistory>
<favorites/>
</launchGroup>
</launchHistory>

@ -0,0 +1,14 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<list key="installedFeatures">
<item value="com.aptana.feature.rcp:3.4.0.201304151603-7o7nFDBFFeFt3XrpXNucaz0uIWkY"/>
<item value="com.aptana.feature.studio:3.4.0.201304151542-7E7G-7MEMVKUHgFcLgFbkKoz0t-7"/>
<item value="com.aptana.feature:3.4.0.1365900908-BW7R8FBu-Ylk0DFYW1DC44EXt-dS"/>
<item value="com.aptana.php.feature:3.3.0.201304151524-7J7E-7IOW_UXOSJY"/>
<item value="com.aptana.pydev.feature:2.7.0.2013032300-7g9I-8Jez0cfdJcee"/>
<item value="org.eclipse.help:1.3.0.v20110530-0844-7i7uFFmFFl8nvqbDpEqTvx"/>
<item value="org.eclipse.platform:3.7.2.v20120207-1839-9gF7UHPDFxGjd-PqDr2jX_4yKaumkoHTz04_q-q"/>
<item value="org.eclipse.rcp:3.7.2.v20120120-1424-9DB5FmnFq5JCf1UA38R-kz0S0272"/>
<item value="org.radrails.rails:3.3.0.201304151525-7e-7Q7f5GRKMDENR"/>
</list>
</section>

@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<section name="Workbench">
<section name="ImportExportAction">
<item value="com.aptana.projects.internal.wizards.PromoteToProjectWizard" key="ImportExportPage.STORE_SELECTED_IMPORT_WIZARD_ID"/>
<list key="ImportExportPage.STORE_EXPANDED_IMPORT_CATEGORIES">
<item value="org.eclipse.ui.Basic"/>
<item value="com.aptana.git.ui.clone.category"/>
</list>
</section>
</section>

@ -0,0 +1,202 @@
<?xml version="1.0" encoding="UTF-8"?>
<workbench progressCount="30" version="2.0">
<workbenchAdvisor/>
<window height="940" maximized="true" width="1200" x="13" y="31">
<fastViewData fastViewLocation="1024"/>
<perspectiveBar>
<itemSize x="160"/>
</perspectiveBar>
<coolbarLayout>
<coolItem id="group.file" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.file" itemType="typeToolBarContribution" x="126" y="22"/>
<coolItem id="additions" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.debug.ui.launchActionSet" itemType="typeToolBarContribution" x="145" y="22"/>
<coolItem id="org.eclipse.search.searchActionSet" itemType="typeToolBarContribution" x="88" y="22"/>
<coolItem id="com.aptana.ui.globalActionSet" itemType="typeToolBarContribution" x="172" y="22"/>
<coolItem id="org.eclipse.ui.edit.text.actionSet.presentation" itemType="typeToolBarContribution" x="84" y="22"/>
<coolItem id="group.nav" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.navigate" itemType="typeToolBarContribution" x="99" y="22"/>
<coolItem id="group.editor" itemType="typeGroupMarker"/>
<coolItem id="group.help" itemType="typeGroupMarker"/>
<coolItem id="org.eclipse.ui.workbench.help" itemType="typeToolBarContribution" x="-1" y="-1"/>
</coolbarLayout>
<page aggregateWorkingSetId="Aggregate for window 1394526806133" focus="true" label="Workspace - Web">
<editors>
<editorArea activeWorkbook="DefaultEditorWorkbook">
<info part="DefaultEditorWorkbook">
<folder appearance="1" expanded="2">
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory"/>
</folder>
</info>
</editorArea>
</editors>
<views>
<view id="org.eclipse.ui.navigator.ProjectExplorer" partName="Project Explorer">
<viewState CommonNavigator.LINKING_ENABLED="0" org.eclipse.ui.navigator.resources.workingSets.showTopLevelWorkingSets="0"/>
</view>
<view id="com.aptana.terminal.views.terminal:demo" partName="demo">
<viewState>
<title>demo</title>
<workingDirectory>E:\code\demo</workingDirectory>
</viewState>
</view>
<view id="com.aptana.snippets.ui.views.SnippetsView" partName="Snippets">
<viewState/>
</view>
<view id="com.aptana.terminal.views.terminal" partName="Terminal">
<viewState>
<title>Terminal</title>
<workingDirectory>C:\Users\nudt</workingDirectory>
</viewState>
</view>
<view id="com.aptana.samples.ui.SamplesView" partName="Samples">
<viewState/>
</view>
<view id="org.eclipse.ui.views.ProblemView" partName="Problems">
<viewState PRIMARY_SORT_FIELD="org.eclipse.ui.ide.severityAndDescriptionField" categoryGroup="org.eclipse.ui.ide.severity" markerContentGenerator="org.eclipse.ui.ide.problemsGenerator" partName="Problems">
<columnWidths org.eclipse.ui.ide.locationField="105" org.eclipse.ui.ide.markerType="105" org.eclipse.ui.ide.pathField="140" org.eclipse.ui.ide.resourceField="105" org.eclipse.ui.ide.severityAndDescriptionField="350"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.severityAndDescriptionField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.resourceField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.pathField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.locationField"/>
<visible IMemento.internal.id="org.eclipse.ui.ide.markerType"/>
</viewState>
</view>
<view id="org.eclipse.ui.console.ConsoleView" partName="Console">
<viewState/>
</view>
<view id="com.aptana.explorer.view" partName="App Explorer">
<viewState CommonNavigator.LINKING_ENABLED="0" GitChangedFilesFilterEnabled="" activeProject="demo">
<project name="demo">
<selection>
<element path="/demo/app"/>
</selection>
</project>
</viewState>
</view>
<view id="org.eclipse.ui.views.ContentOutline" partName="Outline">
<viewState/>
</view>
</views>
<perspectives activePart="com.aptana.explorer.view" activePerspective="com.aptana.ui.WebPerspective">
<perspective editorAreaTrimState="2" editorAreaVisible="1" fixed="0" version="0.016">
<descriptor class="com.aptana.ui.internal.WebPerspectiveFactory" id="com.aptana.ui.WebPerspective" label="Web"/>
<alwaysOnActionSet id="com.aptana.browser.actionSet"/>
<alwaysOnActionSet id="com.aptana.ruby.debug.ui.RubyDebugActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.cheatsheets.actionSet"/>
<alwaysOnActionSet id="org.eclipse.search.searchActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.convertLineDelimitersTo"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.keyBindings"/>
<alwaysOnActionSet id="org.eclipse.ui.actionSet.openFiles"/>
<alwaysOnActionSet id="com.aptana.editor.common.presentation"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.launchActionSet"/>
<alwaysOnActionSet id="org.eclipse.debug.ui.breakpointActionSet"/>
<alwaysOnActionSet id="com.aptana.js.debug.ui.actionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.NavigateActionSet"/>
<alwaysOnActionSet id="org.eclipse.ui.edit.text.actionSet.presentation"/>
<alwaysOnActionSet id="com.aptana.ui.globalActionSet"/>
<alwaysOnActionSet id="com.aptana.terminal.actionSet"/>
<show_view_action id="com.aptana.browser.views.webbrowser"/>
<show_view_action id="com.aptana.explorer.view"/>
<show_view_action id="org.eclipse.ui.navigator.ProjectExplorer"/>
<show_view_action id="com.aptana.ui.io.remoteview"/>
<show_view_action id="org.eclipse.ui.views.ContentOutline"/>
<show_view_action id="com.aptana.samples.ui.SamplesView"/>
<show_view_action id="com.aptana.snippets.ui.views.SnippetsView"/>
<show_view_action id="com.aptana.terminal.views.terminal"/>
<show_view_action id="org.eclipse.ui.console.ConsoleView"/>
<show_view_action id="org.eclipse.pde.runtime.LogView"/>
<show_view_action id="org.eclipse.ui.views.ProblemView"/>
<show_view_action id="org.eclipse.ui.views.TaskList"/>
<show_view_action id="com.aptana.webserver.ui.view"/>
<new_wizard_action id="com.aptana.editor.php.NewPHPProjectWizard"/>
<new_wizard_action id="com.aptana.ui.wizards.NewWebProject"/>
<new_wizard_action id="com.aptana.ruby.core.ui.rubyProjectWizard"/>
<new_wizard_action id="com.aptana.ui.wizards.new.file"/>
<new_wizard_action id="org.eclipse.ui.wizards.new.folder"/>
<new_wizard_action id="org.eclipse.ui.editors.wizards.UntitledTextFileWizard"/>
<new_wizard_action id="org.radrails.rails.ui.projectWizard"/>
<perspective_action id="org.eclipse.debug.ui.DebugPerspective"/>
<hide_toolbar_item_id id="org.eclipse.ui.edit.text.toggleShowSelectedElementOnly"/>
<view id="com.aptana.explorer.view"/>
<view id="org.eclipse.ui.navigator.ProjectExplorer"/>
<view id="org.eclipse.ui.console.ConsoleView"/>
<view id="com.aptana.terminal.views.terminal"/>
<view id="org.eclipse.ui.views.ProblemView"/>
<view id="com.aptana.terminal.views.terminal:demo"/>
<view id="org.eclipse.ui.views.ContentOutline"/>
<view id="com.aptana.samples.ui.SamplesView"/>
<view id="com.aptana.snippets.ui.views.SnippetsView"/>
<fastViewBars/>
<layout>
<mainWindow>
<info folder="true" part="left">
<folder activePageID="com.aptana.explorer.view" appearance="2" expanded="2">
<page content="com.aptana.explorer.view" label="App Explorer"/>
<page content="org.eclipse.ui.navigator.ProjectExplorer" label="Project Explorer"/>
<page content="com.aptana.ui.io.remoteview" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
</presentation>
</folder>
</info>
<info folder="true" part="stickyFolderRight" ratio="0.7495741" ratioLeft="880" ratioRight="294" relationship="2" relative="left">
<folder appearance="2" expanded="2">
<page content="org.eclipse.help.ui.HelpView" label="LabelNotFound"/>
<page content="org.eclipse.ui.internal.introview" label="LabelNotFound"/>
<page content="org.eclipse.ui.cheatsheets.views.CheatSheetView" label="LabelNotFound"/>
</folder>
</info>
<info part="org.eclipse.ui.editorss" ratio="0.19931857" ratioLeft="234" ratioRight="940" relationship="2" relative="left"/>
<info folder="true" part="terminalArea" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="org.eclipse.ui.editorss">
<folder activePageID="com.aptana.terminal.views.terminal:demo" appearance="2" expanded="2">
<page content="org.eclipse.ui.console.ConsoleView" label="Console"/>
<page content="com.aptana.terminal.views.terminal" label="Terminal"/>
<page content="org.eclipse.ui.views.ProblemView" label="Problems"/>
<page content="com.aptana.terminal.views.terminal:demo" label="demo"/>
<page content="org.eclipse.pde.runtime.LogView" label="LabelNotFound"/>
<page content="org.eclipse.ui.views.TaskList" label="LabelNotFound"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
<part id="2"/>
<part id="3"/>
</presentation>
</folder>
</info>
<info folder="true" part="org.eclipse.ui.internal.ViewStack@d90254" ratio="0.75" ratioLeft="627" ratioRight="209" relationship="4" relative="left">
<folder activePageID="com.aptana.snippets.ui.views.SnippetsView" appearance="2" expanded="2">
<page content="org.eclipse.ui.views.ContentOutline" label="Outline"/>
<page content="com.aptana.samples.ui.SamplesView" label="Samples"/>
<page content="com.aptana.snippets.ui.views.SnippetsView" label="Snippets"/>
<presentation id="org.eclipse.ui.presentations.WorkbenchPresentationFactory">
<part id="0"/>
<part id="1"/>
<part id="2"/>
</presentation>
</folder>
</info>
</mainWindow>
</layout>
</perspective>
</perspectives>
<workingSets/>
<navigationHistory/>
<input factoryID="org.eclipse.ui.internal.model.ResourceFactory" path="/" type="8"/>
</page>
<workbenchWindowAdvisor/>
<actionBarAdvisor/>
<trimLayout>
<trimArea IMemento.internal.id="128">
<trimItem IMemento.internal.id="org.eclipse.ui.internal.WorkbenchWindow.topBar"/>
</trimArea>
<trimArea IMemento.internal.id="1024">
<trimItem IMemento.internal.id="org.eclise.ui.internal.FastViewBar"/>
<trimItem IMemento.internal.id="org.eclipse.jface.action.StatusLineManager"/>
<trimItem IMemento.internal.id="org.eclipse.ui.internal.progress.ProgressRegion"/>
</trimArea>
</trimLayout>
</window>
<mruList/>
</workbench>

@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<workingSetManager>
<workingSet aggregate="true" factoryID="org.eclipse.ui.internal.WorkingSetFactory" id="1394526806133_0" label="Window Working Set" name="Aggregate for window 1394526806133"/>
</workingSetManager>

@ -0,0 +1 @@
org.eclipse.core.runtime=1

@ -6,6 +6,7 @@ unless RUBY_PLATFORM =~ /w32/
gem 'rubyzip'
gem 'zip-zip'
end
gem 'seems_rateable'
gem "rails", "3.2.13"
gem "jquery-rails", "~> 2.0.2"
gem "i18n", "~> 0.6.0"

@ -21,7 +21,7 @@ class AttachmentsController < ApplicationController
before_filter :delete_authorize, :only => :destroy
before_filter :authorize_global, :only => :upload
before_filter :require_login, only: [:download]
before_filter :login_without_softapplication, only: [:download]
accept_api_auth :show, :download, :upload
@ -207,4 +207,9 @@ private
end
content_type.to_s
end
def login_without_softapplication
referer = request.headers['Referer']
require_login unless referer =~ /softapplication/
end
end

@ -137,6 +137,20 @@ class ContestsController < ApplicationController
end
end
# Added by Longjun
def destroy_contest
@contest = Contest.find(params[:id])
if @contest.author_id == User.current.id
@contest.destroy
redirect_to action: 'index'
else
render_403 :message => :notice_not_contest_delete_authorized
end
end
# end
def show_contest_project
contests = Contest.where('parent_id = ?', @contest.id)
@projects = []

@ -0,0 +1,15 @@
require_dependency "seems_rateable/application_controller"
class RatingsController < ::ApplicationController
def create
raise NoCurrentUserInstanceError unless current_user
obj = params[:kls].classify.constantize.find(params[:idBox])
begin
obj.rate(params[:rate].to_i, current_user.id, params[:dimension])
render :json => true
rescue Errors::AlreadyRatedError
render :json => {:error => true}
end
end
end

@ -84,7 +84,6 @@ class SoftapplicationsController < ApplicationController
end
end
def add_attach
@softapplication = Softapplication.find(params[:id])
@softapplication.save_attachments(params[:attachments])
@ -101,6 +100,7 @@ class SoftapplicationsController < ApplicationController
format.json { head :no_content }
end
end
#应用评价涉及到的方法
def new_message
@jour = JournalsForMessage.find(params[:journal_id]) if params[:journal_id]
@ -118,10 +118,10 @@ class SoftapplicationsController < ApplicationController
rescue ActiveRecord::RecordNotFound
render_404
end
#新建评价
def create_message
if params[:softapplication_message][:message].size>0
if params[:reference_content]
message = params[:softapplication_message][:message] + "\n" + params[:reference_content]
else
@ -131,7 +131,6 @@ class SoftapplicationsController < ApplicationController
@softapplication = Softapplication.find(params[:id])
@softapplication.add_jour(User.current, message, refer_user_id)
end
@user = @softapplication.user
@jours = @softapplication.journals_for_messages.where('m_parent_id IS NULL').order('created_on DESC')
@ -167,6 +166,7 @@ class SoftapplicationsController < ApplicationController
format.js
end
end
#
def more
@jour = @softapplication.journals_for_messages
@ -179,6 +179,7 @@ class SoftapplicationsController < ApplicationController
#format.api { render_api_ok }
end
end
#
def back
@jour = @softapplication.journals_for_messages

@ -1608,4 +1608,13 @@ module ApplicationHelper
User.current
end
# def hadcommittedforcontest(curu)
# message = JournalsForMessage.find_by_sql("select * from journals_for_messages where jour_type = 'Softapplication' ")
# message.each do |createmessage|
# if createmessage.user_id == curu
# return true
# end
# end
# end
end

@ -1,6 +1,8 @@
class Softapplication < ActiveRecord::Base
attr_accessible :android_min_version_available, :app_type_id, :app_type_name, :description, :name, :user_id, :contest_id, :application_developers
acts_as_attachable
seems_rateable :allow_update => true, :dimensions => :quality
has_many :journals_for_messages, :as => :jour, :dependent => :destroy
has_many :contesting_softapplications, :dependent => :destroy

@ -127,6 +127,7 @@ class User < Principal
scope :by_join_date, order("created_on DESC")
############################# added by liuping 关注
acts_as_watchable
seems_rateable_rater
has_one :user_extensions,:dependent => :destroy
## end

@ -10,6 +10,7 @@
<%= stylesheet_link_tag 'jquery/jquery-ui-1.9.2', 'application', 'nyan', :media => 'all' %>
<%= stylesheet_link_tag 'rtl', :media => 'all' if l(:direction) == 'rtl' %>
<%= javascript_heads %>
<%= javascript_include_tag 'seems_rateable/jRating', 'seems_rateable/rateable'%>
<%= heads_for_theme %>
<%= call_hook :view_layouts_base_html_head %>
<!-- page specific tags -->

@ -100,10 +100,13 @@
<td class="font_index">
<%=link_to "#{@contest.contesting_softapplications.count}", :controller => 'contests', :action => 'show_softapplication' %>
</td>
</tr>
<tr class="font_aram">
<td align="center" width="70px"> <%= l(:label_participate) %></td>
<td align="center" width="70px"> <%= l(:label_contest_project) %></td>
<td align="center" width="70px"> <%= l(:label_contest_application) %></td>
</tr>
</table>
<div class="user_underline"></div>
@ -142,6 +145,13 @@
<div class="created_on_project">
<strong style="color: #068d9c"><%= l(:label_create_time) %></strong><%= format_time(@contest.created_on) %>
</div>
<% if User.current.logged? %>
<% if @contest.author.id == User.current.id %>
<div>
<%= link_to '删除', {:controller => 'contests', :action => 'destroy_contest', :id => @contest}, data: { confirm: '你确定要删除该竞赛吗?' } %>
</div>
<% end %>
<% end %>
</div>
<div class="user_underline"></div>
</div>

@ -0,0 +1,26 @@
<!-- Created by Long Jun
Time: 2014-4-8 -->
<% content_for :content do %>
<div>
<h3><strong><%= l(:label_tags_search_result) %></strong></h3>
<div align="right">
<%= l(:label_tags_numbers) %>
<%= l(:label_issue_plural) %>(<%= @issues_tags_num %>) |
<%= l(:label_project_plural) %>(<%= @projects_tags_num %>) |
<%= l(:label_user_plural) %>(<%= @users_tags_num %>) |
<%= l(:label_tags_call)%>(<%= @bids_tags_num %>) |
<%= l(:field_filename)%>(<%= @attachments_tags_num %>)
</div>
<div id="show_results">
<%# 求工厂模式重构 %>
<%= render :partial => "tag_search_results",:locals => {:issues_results => @issues_results,
:projects_results => @projects_results,:users_results => @users_results ,
:bids_results=>@bids_results,:forums_results => @forums_results, :attachments_results => @attachments_results, :show_flag => @obj_flag}%>
</div>
</div>
<% end %>

@ -36,6 +36,10 @@
<td>开发人员:<%= @softapplication.application_developers %></td>
</tr>
<tr>
<td>平均评分: <%= rating_for @softapplication, :static => true, dimension: :quality, class: 'rateable div_inline' %></td>
<td></td>
</tr>
</table>
@ -64,7 +68,7 @@
<div style="height: 50px">
<div style="font-size: 15px"><strong>软件评论:</strong></div>
<div></div>
<div style="padding-left: 210px">评分: <%= rating_for @softapplication, dimension: :quality, class: 'rateable div_inline' %></div>
</div>
<!--提示登录后对应用进行评价-->

@ -198,6 +198,7 @@
<h3 style="margin-left: 5px; color: #e8770d;"><strong>最新参赛应用</strong></h3>
<div class="d-p-projectlist-box">
<% if Softapplication.count > 0%>
<div class="d-p-projectlist">
<% find_all_hot_softapplication.map do |softapplication| break if(softapplication == find_all_hot_softapplication[5]) %>
@ -222,6 +223,10 @@
<% end; reset_cycle %>
</div>
<% else %>
<p class="font_lighter"><%= l(:label_no_ftapplication) %></p>
<% end %>
</div>
</div>

@ -170,6 +170,7 @@ zh:
notice_locking_conflict: 数据已被另一位用户更新
notice_not_authorized: 对不起,您无权访问此页面。
notice_not_contest_setting_authorized: 对不起,您无权配置此竞赛。
notice_not_contest_delete_authorized: 对不起,您无权删除此竞赛。
notice_not_authorized_archived_project: 要访问的项目已经归档。
notice_email_sent: "邮件已发送至 %{value}"
notice_email_error: "发送邮件时发生错误 (%{value})"
@ -1344,6 +1345,7 @@ zh:
label_new_call: 发布需求
label_newtype_contest: 发布竞赛
label_user_information: "与我相关"
label_bid_succeed: "需求发布成功"
label_wrong_budget: 错误的金额格式
@ -1824,6 +1826,7 @@ zh:
label_system_platform: 系统平台
label_nextstep: 下一步
label_participate: 参赛者
label_setting: 配置
label_contest_project: 参赛项目
label_contest_softapplication: 参赛应用
label_contest_response: 用户反馈
@ -1851,6 +1854,7 @@ zh:
label_tags_contest_description: 竞赛描述
label_release_add_contest_succeed: 该应用发布并添加成功.
label_add_contest_succeed_fail: 添加失败,该应用已参赛.
label_no_ftapplication: 暂无应用

@ -16,6 +16,7 @@
# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
RedmineApp::Application.routes.draw do
resources :ratings, :only => :create
namespace :zipdown do
match 'assort'
end
@ -507,18 +508,6 @@ RedmineApp::Application.routes.draw do
# Endof Tao's code
get 'robots.txt', :to => 'welcome#robots'
Dir.glob File.expand_path("plugins/*", Rails.root) do |plugin_dir|
file = File.join(plugin_dir, "config/routes.rb")
if File.exists?(file)
begin
instance_eval File.read(file)
rescue Exception => e
puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
exit 1
end
end
end
##############测试留言功能 fq
post 'words/new', :to => 'words#new'
post 'words/create', :to => 'words#create'
@ -607,5 +596,16 @@ RedmineApp::Application.routes.draw do
match 'words/add_brief_introdution', :controller => 'words', :action => 'add_brief_introdution'
Dir.glob File.expand_path("plugins/*", Rails.root) do |plugin_dir|
file = File.join(plugin_dir, "config/routes.rb")
if File.exists?(file)
begin
instance_eval File.read(file)
rescue Exception => e
puts "An error occurred while loading the routes definition of #{File.basename(plugin_dir)} plugin (#{file}): #{e.message}."
exit 1
end
end
end
get ':controller(/:action(/:id))'
end

@ -0,0 +1,950 @@
# encoding: UTF-8
# This file is auto-generated from the current state of the database. Instead
# of editing this file, please use the migrations feature of Active Record to
# incrementally modify your database, and then regenerate this schema definition.
#
# Note that this schema.rb definition is the authoritative source for your
# database schema. If you need to create the application database on another
# system, you should be using db:schema:load, not running all the migrations
# from scratch. The latter is a flawed and unsustainable approach (the more migrations
# you'll amass, the slower it'll run and the greater likelihood for issues).
#
# It's strongly recommended to check this file into your version control system.
ActiveRecord::Schema.define(:version => 20140421044830) do
create_table "activities", :force => true do |t|
t.integer "act_id", :null => false
t.string "act_type", :null => false
t.integer "user_id", :null => false
end
add_index "activities", ["act_id", "act_type"], :name => "index_activities_on_act_id_and_act_type"
add_index "activities", ["user_id", "act_type"], :name => "index_activities_on_user_id_and_act_type"
add_index "activities", ["user_id"], :name => "index_activities_on_user_id"
create_table "attachments", :force => true do |t|
t.integer "container_id"
t.string "container_type", :limit => 30
t.string "filename", :default => "", :null => false
t.string "disk_filename", :default => "", :null => false
t.integer "filesize", :default => 0, :null => false
t.string "content_type", :default => ""
t.string "digest", :limit => 40, :default => "", :null => false
t.integer "downloads", :default => 0, :null => false
t.integer "author_id", :default => 0, :null => false
t.datetime "created_on"
t.string "description"
t.string "disk_directory"
end
add_index "attachments", ["author_id"], :name => "index_attachments_on_author_id"
add_index "attachments", ["container_id", "container_type"], :name => "index_attachments_on_container_id_and_container_type"
add_index "attachments", ["created_on"], :name => "index_attachments_on_created_on"
create_table "auth_sources", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
t.string "name", :limit => 60, :default => "", :null => false
t.string "host", :limit => 60
t.integer "port"
t.string "account"
t.string "account_password", :default => ""
t.string "base_dn"
t.string "attr_login", :limit => 30
t.string "attr_firstname", :limit => 30
t.string "attr_lastname", :limit => 30
t.string "attr_mail", :limit => 30
t.boolean "onthefly_register", :default => false, :null => false
t.boolean "tls", :default => false, :null => false
t.string "filter"
t.integer "timeout"
end
add_index "auth_sources", ["id", "type"], :name => "index_auth_sources_on_id_and_type"
create_table "biding_projects", :force => true do |t|
t.integer "project_id"
t.integer "bid_id"
t.integer "user_id"
t.string "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "reward"
end
create_table "bids", :force => true do |t|
t.string "name"
t.string "budget", :null => false
t.integer "author_id"
t.date "deadline"
t.string "description"
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
t.integer "commit"
t.integer "reward_type"
t.integer "homework_type"
t.integer "parent_id"
t.string "password"
end
create_table "boards", :force => true do |t|
t.integer "project_id", :null => false
t.string "name", :default => "", :null => false
t.string "description"
t.integer "position", :default => 1
t.integer "topics_count", :default => 0, :null => false
t.integer "messages_count", :default => 0, :null => false
t.integer "last_message_id"
t.integer "parent_id"
end
add_index "boards", ["last_message_id"], :name => "index_boards_on_last_message_id"
add_index "boards", ["project_id"], :name => "boards_project_id"
create_table "changes", :force => true do |t|
t.integer "changeset_id", :null => false
t.string "action", :limit => 1, :default => "", :null => false
t.text "path", :null => false
t.text "from_path"
t.string "from_revision"
t.string "revision"
t.string "branch"
end
add_index "changes", ["changeset_id"], :name => "changesets_changeset_id"
create_table "changeset_parents", :id => false, :force => true do |t|
t.integer "changeset_id", :null => false
t.integer "parent_id", :null => false
end
add_index "changeset_parents", ["changeset_id"], :name => "changeset_parents_changeset_ids"
add_index "changeset_parents", ["parent_id"], :name => "changeset_parents_parent_ids"
create_table "changesets", :force => true do |t|
t.integer "repository_id", :null => false
t.string "revision", :null => false
t.string "committer"
t.datetime "committed_on", :null => false
t.text "comments"
t.date "commit_date"
t.string "scmid"
t.integer "user_id"
end
add_index "changesets", ["committed_on"], :name => "index_changesets_on_committed_on"
add_index "changesets", ["repository_id", "revision"], :name => "changesets_repos_rev", :unique => true
add_index "changesets", ["repository_id", "scmid"], :name => "changesets_repos_scmid"
add_index "changesets", ["repository_id"], :name => "index_changesets_on_repository_id"
add_index "changesets", ["user_id"], :name => "index_changesets_on_user_id"
create_table "changesets_issues", :id => false, :force => true do |t|
t.integer "changeset_id", :null => false
t.integer "issue_id", :null => false
end
add_index "changesets_issues", ["changeset_id", "issue_id"], :name => "changesets_issues_ids", :unique => true
create_table "comments", :force => true do |t|
t.string "commented_type", :limit => 30, :default => "", :null => false
t.integer "commented_id", :default => 0, :null => false
t.integer "author_id", :default => 0, :null => false
t.text "comments"
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
end
add_index "comments", ["author_id"], :name => "index_comments_on_author_id"
add_index "comments", ["commented_id", "commented_type"], :name => "index_comments_on_commented_id_and_commented_type"
create_table "contesting_projects", :force => true do |t|
t.integer "project_id"
t.string "contest_id"
t.integer "user_id"
t.string "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "reward"
end
create_table "contesting_softapplications", :force => true do |t|
t.integer "softapplication_id"
t.integer "contest_id"
t.integer "user_id"
t.string "description"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "reward"
end
create_table "contests", :force => true do |t|
t.string "name"
t.integer "budget"
t.integer "author_id"
t.date "deadline"
t.string "description"
t.integer "commit"
t.string "password"
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
end
create_table "courses", :force => true do |t|
t.integer "tea_id"
t.string "name"
t.integer "state"
t.string "code"
t.integer "time"
t.string "extra"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "location"
t.string "term"
t.string "string"
t.string "password"
t.string "setup_time"
t.string "endup_time"
t.string "class_period"
t.integer "school_id"
end
create_table "custom_fields", :force => true do |t|
t.string "type", :limit => 30, :default => "", :null => false
t.string "name", :limit => 30, :default => "", :null => false
t.string "field_format", :limit => 30, :default => "", :null => false
t.text "possible_values"
t.string "regexp", :default => ""
t.integer "min_length", :default => 0, :null => false
t.integer "max_length", :default => 0, :null => false
t.boolean "is_required", :default => false, :null => false
t.boolean "is_for_all", :default => false, :null => false
t.boolean "is_filter", :default => false, :null => false
t.integer "position", :default => 1
t.boolean "searchable", :default => false
t.text "default_value"
t.boolean "editable", :default => true
t.boolean "visible", :default => true, :null => false
t.boolean "multiple", :default => false
end
add_index "custom_fields", ["id", "type"], :name => "index_custom_fields_on_id_and_type"
create_table "custom_fields_projects", :id => false, :force => true do |t|
t.integer "custom_field_id", :default => 0, :null => false
t.integer "project_id", :default => 0, :null => false
end
add_index "custom_fields_projects", ["custom_field_id", "project_id"], :name => "index_custom_fields_projects_on_custom_field_id_and_project_id", :unique => true
create_table "custom_fields_trackers", :id => false, :force => true do |t|
t.integer "custom_field_id", :default => 0, :null => false
t.integer "tracker_id", :default => 0, :null => false
end
add_index "custom_fields_trackers", ["custom_field_id", "tracker_id"], :name => "index_custom_fields_trackers_on_custom_field_id_and_tracker_id", :unique => true
create_table "custom_values", :force => true do |t|
t.string "customized_type", :limit => 30, :default => "", :null => false
t.integer "customized_id", :default => 0, :null => false
t.integer "custom_field_id", :default => 0, :null => false
t.text "value"
end
add_index "custom_values", ["custom_field_id"], :name => "index_custom_values_on_custom_field_id"
add_index "custom_values", ["customized_type", "customized_id"], :name => "custom_values_customized"
create_table "documents", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.integer "category_id", :default => 0, :null => false
t.string "title", :limit => 60, :default => "", :null => false
t.text "description"
t.datetime "created_on"
end
add_index "documents", ["category_id"], :name => "index_documents_on_category_id"
add_index "documents", ["created_on"], :name => "index_documents_on_created_on"
add_index "documents", ["project_id"], :name => "documents_project_id"
create_table "enabled_modules", :force => true do |t|
t.integer "project_id"
t.string "name", :null => false
end
add_index "enabled_modules", ["project_id"], :name => "enabled_modules_project_id"
create_table "enumerations", :force => true do |t|
t.string "name", :limit => 30, :default => "", :null => false
t.integer "position", :default => 1
t.boolean "is_default", :default => false, :null => false
t.string "type"
t.boolean "active", :default => true, :null => false
t.integer "project_id"
t.integer "parent_id"
t.string "position_name", :limit => 30
end
add_index "enumerations", ["id", "type"], :name => "index_enumerations_on_id_and_type"
add_index "enumerations", ["project_id"], :name => "index_enumerations_on_project_id"
create_table "forums", :force => true do |t|
t.string "name", :null => false
t.string "description", :default => ""
t.integer "topic_count", :default => 0
t.integer "memo_count", :default => 0
t.integer "last_memo_id", :default => 0
t.integer "creator_id", :null => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "groups_users", :id => false, :force => true do |t|
t.integer "group_id", :null => false
t.integer "user_id", :null => false
end
add_index "groups_users", ["group_id", "user_id"], :name => "groups_users_ids", :unique => true
create_table "homework_attaches", :force => true do |t|
t.integer "bid_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "reward"
end
create_table "homework_for_courses", :force => true do |t|
t.integer "project_id"
t.integer "bid_id"
end
create_table "issue_categories", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "name", :limit => 30, :default => "", :null => false
t.integer "assigned_to_id"
end
add_index "issue_categories", ["assigned_to_id"], :name => "index_issue_categories_on_assigned_to_id"
add_index "issue_categories", ["project_id"], :name => "issue_categories_project_id"
create_table "issue_relations", :force => true do |t|
t.integer "issue_from_id", :null => false
t.integer "issue_to_id", :null => false
t.string "relation_type", :default => "", :null => false
t.integer "delay"
end
add_index "issue_relations", ["issue_from_id", "issue_to_id"], :name => "index_issue_relations_on_issue_from_id_and_issue_to_id", :unique => true
add_index "issue_relations", ["issue_from_id"], :name => "index_issue_relations_on_issue_from_id"
add_index "issue_relations", ["issue_to_id"], :name => "index_issue_relations_on_issue_to_id"
create_table "issue_statuses", :force => true do |t|
t.string "name", :limit => 30, :default => "", :null => false
t.boolean "is_closed", :default => false, :null => false
t.boolean "is_default", :default => false, :null => false
t.integer "position", :default => 1
t.integer "default_done_ratio"
end
add_index "issue_statuses", ["is_closed"], :name => "index_issue_statuses_on_is_closed"
add_index "issue_statuses", ["is_default"], :name => "index_issue_statuses_on_is_default"
add_index "issue_statuses", ["position"], :name => "index_issue_statuses_on_position"
create_table "issues", :force => true do |t|
t.integer "tracker_id", :null => false
t.integer "project_id", :null => false
t.string "subject", :default => "", :null => false
t.text "description"
t.date "due_date"
t.integer "category_id"
t.integer "status_id", :null => false
t.integer "assigned_to_id"
t.integer "priority_id", :null => false
t.integer "fixed_version_id"
t.integer "author_id", :null => false
t.integer "lock_version", :default => 0, :null => false
t.datetime "created_on"
t.datetime "updated_on"
t.date "start_date"
t.integer "done_ratio", :default => 0, :null => false
t.float "estimated_hours"
t.integer "parent_id"
t.integer "root_id"
t.integer "lft"
t.integer "rgt"
t.boolean "is_private", :default => false, :null => false
t.datetime "closed_on"
end
add_index "issues", ["assigned_to_id"], :name => "index_issues_on_assigned_to_id"
add_index "issues", ["author_id"], :name => "index_issues_on_author_id"
add_index "issues", ["category_id"], :name => "index_issues_on_category_id"
add_index "issues", ["created_on"], :name => "index_issues_on_created_on"
add_index "issues", ["fixed_version_id"], :name => "index_issues_on_fixed_version_id"
add_index "issues", ["priority_id"], :name => "index_issues_on_priority_id"
add_index "issues", ["project_id"], :name => "issues_project_id"
add_index "issues", ["root_id", "lft", "rgt"], :name => "index_issues_on_root_id_and_lft_and_rgt"
add_index "issues", ["status_id"], :name => "index_issues_on_status_id"
add_index "issues", ["tracker_id"], :name => "index_issues_on_tracker_id"
create_table "join_in_competitions", :force => true do |t|
t.integer "user_id"
t.integer "competition_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "join_in_contests", :force => true do |t|
t.integer "user_id"
t.integer "bid_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "journal_details", :force => true do |t|
t.integer "journal_id", :default => 0, :null => false
t.string "property", :limit => 30, :default => "", :null => false
t.string "prop_key", :limit => 30, :default => "", :null => false
t.text "old_value"
t.text "value"
end
add_index "journal_details", ["journal_id"], :name => "journal_details_journal_id"
create_table "journal_replies", :id => false, :force => true do |t|
t.integer "journal_id"
t.integer "user_id"
t.integer "reply_id"
end
add_index "journal_replies", ["journal_id"], :name => "index_journal_replies_on_journal_id"
add_index "journal_replies", ["reply_id"], :name => "index_journal_replies_on_reply_id"
add_index "journal_replies", ["user_id"], :name => "index_journal_replies_on_user_id"
create_table "journals", :force => true do |t|
t.integer "journalized_id", :default => 0, :null => false
t.string "journalized_type", :limit => 30, :default => "", :null => false
t.integer "user_id", :default => 0, :null => false
t.text "notes"
t.datetime "created_on", :null => false
t.boolean "private_notes", :default => false, :null => false
end
add_index "journals", ["created_on"], :name => "index_journals_on_created_on"
add_index "journals", ["journalized_id", "journalized_type"], :name => "journals_journalized_id"
add_index "journals", ["journalized_id"], :name => "index_journals_on_journalized_id"
add_index "journals", ["user_id"], :name => "index_journals_on_user_id"
create_table "journals_for_messages", :force => true do |t|
t.integer "jour_id"
t.string "jour_type"
t.integer "user_id"
t.text "notes"
t.integer "status"
t.integer "reply_id"
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
t.string "m_parent_id"
t.boolean "is_readed"
t.integer "m_reply_count"
t.integer "m_reply_id"
end
create_table "member_roles", :force => true do |t|
t.integer "member_id", :null => false
t.integer "role_id", :null => false
t.integer "inherited_from"
end
add_index "member_roles", ["member_id"], :name => "index_member_roles_on_member_id"
add_index "member_roles", ["role_id"], :name => "index_member_roles_on_role_id"
create_table "members", :force => true do |t|
t.integer "user_id", :default => 0, :null => false
t.integer "project_id", :default => 0, :null => false
t.datetime "created_on"
t.boolean "mail_notification", :default => false, :null => false
end
add_index "members", ["project_id"], :name => "index_members_on_project_id"
add_index "members", ["user_id", "project_id"], :name => "index_members_on_user_id_and_project_id", :unique => true
add_index "members", ["user_id"], :name => "index_members_on_user_id"
create_table "memos", :force => true do |t|
t.integer "forum_id", :null => false
t.integer "parent_id"
t.string "subject", :null => false
t.text "content", :null => false
t.integer "author_id", :null => false
t.integer "replies_count", :default => 0
t.integer "last_reply_id"
t.boolean "lock", :default => false
t.boolean "sticky", :default => false
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "viewed_count", :default => 0
end
create_table "messages", :force => true do |t|
t.integer "board_id", :null => false
t.integer "parent_id"
t.string "subject", :default => "", :null => false
t.text "content"
t.integer "author_id"
t.integer "replies_count", :default => 0, :null => false
t.integer "last_reply_id"
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
t.boolean "locked", :default => false
t.integer "sticky", :default => 0
end
add_index "messages", ["author_id"], :name => "index_messages_on_author_id"
add_index "messages", ["board_id"], :name => "messages_board_id"
add_index "messages", ["created_on"], :name => "index_messages_on_created_on"
add_index "messages", ["last_reply_id"], :name => "index_messages_on_last_reply_id"
add_index "messages", ["parent_id"], :name => "messages_parent_id"
create_table "news", :force => true do |t|
t.integer "project_id"
t.string "title", :limit => 60, :default => "", :null => false
t.string "summary", :default => ""
t.text "description"
t.integer "author_id", :default => 0, :null => false
t.datetime "created_on"
t.integer "comments_count", :default => 0, :null => false
end
add_index "news", ["author_id"], :name => "index_news_on_author_id"
add_index "news", ["created_on"], :name => "index_news_on_created_on"
add_index "news", ["project_id"], :name => "news_project_id"
create_table "open_id_authentication_associations", :force => true do |t|
t.integer "issued"
t.integer "lifetime"
t.string "handle"
t.string "assoc_type"
t.binary "server_url"
t.binary "secret"
end
create_table "open_id_authentication_nonces", :force => true do |t|
t.integer "timestamp", :null => false
t.string "server_url"
t.string "salt", :null => false
end
create_table "praise_tread_caches", :force => true do |t|
t.integer "object_id", :null => false
t.string "object_type"
t.integer "praise_num"
t.integer "tread_num"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "praise_treads", :force => true do |t|
t.integer "user_id", :null => false
t.integer "praise_tread_object_id"
t.string "praise_tread_object_type"
t.integer "praise_or_tread"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "project_infos", :force => true do |t|
t.integer "project_id"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "project_statuses", :force => true do |t|
t.integer "changesets_count"
t.integer "watchers_count"
t.integer "project_id"
t.integer "project_type"
t.float "grade", :default => 0.0
t.integer "course_ac_para", :default => 0
end
add_index "project_statuses", ["grade"], :name => "index_project_statuses_on_grade"
create_table "projects", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "description"
t.string "homepage", :default => ""
t.boolean "is_public", :default => true, :null => false
t.integer "parent_id"
t.datetime "created_on"
t.datetime "updated_on"
t.string "identifier"
t.integer "status", :default => 1, :null => false
t.integer "lft"
t.integer "rgt"
t.boolean "inherit_members", :default => false, :null => false
t.integer "project_type"
t.boolean "hidden_repo", :default => false, :null => false
end
add_index "projects", ["lft"], :name => "index_projects_on_lft"
add_index "projects", ["rgt"], :name => "index_projects_on_rgt"
create_table "projects_trackers", :id => false, :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.integer "tracker_id", :default => 0, :null => false
end
add_index "projects_trackers", ["project_id", "tracker_id"], :name => "projects_trackers_unique", :unique => true
add_index "projects_trackers", ["project_id"], :name => "projects_trackers_project_id"
create_table "queries", :force => true do |t|
t.integer "project_id"
t.string "name", :default => "", :null => false
t.text "filters"
t.integer "user_id", :default => 0, :null => false
t.boolean "is_public", :default => false, :null => false
t.text "column_names"
t.text "sort_criteria"
t.string "group_by"
t.string "type"
end
add_index "queries", ["project_id"], :name => "index_queries_on_project_id"
add_index "queries", ["user_id"], :name => "index_queries_on_user_id"
create_table "repositories", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "url", :default => "", :null => false
t.string "login", :limit => 60, :default => ""
t.string "password", :default => ""
t.string "root_url", :default => ""
t.string "type"
t.string "path_encoding", :limit => 64
t.string "log_encoding", :limit => 64
t.text "extra_info"
t.string "identifier"
t.boolean "is_default", :default => false
end
add_index "repositories", ["project_id"], :name => "index_repositories_on_project_id"
create_table "roles", :force => true do |t|
t.string "name", :limit => 30, :default => "", :null => false
t.integer "position", :default => 1
t.boolean "assignable", :default => true
t.integer "builtin", :default => 0, :null => false
t.text "permissions"
t.string "issues_visibility", :limit => 30, :default => "default", :null => false
end
create_table "schools", :force => true do |t|
t.string "name"
t.string "province"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "seems_rateable_cached_ratings", :force => true do |t|
t.integer "cacheable_id", :limit => 8
t.string "cacheable_type"
t.float "avg", :null => false
t.integer "cnt", :null => false
t.string "dimension"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "seems_rateable_rates", :force => true do |t|
t.integer "rater_id", :limit => 8
t.integer "rateable_id"
t.string "rateable_type"
t.float "stars", :null => false
t.string "dimension"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "settings", :force => true do |t|
t.string "name", :default => "", :null => false
t.text "value"
t.datetime "updated_on"
end
add_index "settings", ["name"], :name => "index_settings_on_name"
create_table "shares", :force => true do |t|
t.date "created_on"
t.string "url"
t.string "title"
t.integer "share_type"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "project_id"
t.integer "user_id"
t.string "description"
end
create_table "softapplications", :force => true do |t|
t.string "name"
t.string "description"
t.integer "app_type_id"
t.string "app_type_name"
t.string "android_min_version_available"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.integer "contest_id"
t.integer "softapplication_id"
t.integer "is_public"
t.string "application_developers"
end
create_table "students_for_courses", :force => true do |t|
t.integer "student_id"
t.integer "course_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
create_table "taggings", :force => true do |t|
t.integer "tag_id"
t.integer "taggable_id"
t.string "taggable_type"
t.integer "tagger_id"
t.string "tagger_type"
t.string "context", :limit => 128
t.datetime "created_at"
end
add_index "taggings", ["tag_id"], :name => "index_taggings_on_tag_id"
add_index "taggings", ["taggable_id", "taggable_type", "context"], :name => "index_taggings_on_taggable_id_and_taggable_type_and_context"
create_table "tags", :force => true do |t|
t.string "name"
end
create_table "teachers", :force => true do |t|
t.string "tea_name"
t.string "location"
t.integer "couurse_time"
t.integer "course_code"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "extra"
end
create_table "time_entries", :force => true do |t|
t.integer "project_id", :null => false
t.integer "user_id", :null => false
t.integer "issue_id"
t.float "hours", :null => false
t.string "comments"
t.integer "activity_id", :null => false
t.date "spent_on", :null => false
t.integer "tyear", :null => false
t.integer "tmonth", :null => false
t.integer "tweek", :null => false
t.datetime "created_on", :null => false
t.datetime "updated_on", :null => false
end
add_index "time_entries", ["activity_id"], :name => "index_time_entries_on_activity_id"
add_index "time_entries", ["created_on"], :name => "index_time_entries_on_created_on"
add_index "time_entries", ["issue_id"], :name => "time_entries_issue_id"
add_index "time_entries", ["project_id"], :name => "time_entries_project_id"
add_index "time_entries", ["user_id"], :name => "index_time_entries_on_user_id"
create_table "tokens", :force => true do |t|
t.integer "user_id", :default => 0, :null => false
t.string "action", :limit => 30, :default => "", :null => false
t.string "value", :limit => 40, :default => "", :null => false
t.datetime "created_on", :null => false
end
add_index "tokens", ["user_id"], :name => "index_tokens_on_user_id"
add_index "tokens", ["value"], :name => "tokens_value", :unique => true
create_table "trackers", :force => true do |t|
t.string "name", :limit => 30, :default => "", :null => false
t.boolean "is_in_chlog", :default => false, :null => false
t.integer "position", :default => 1
t.boolean "is_in_roadmap", :default => true, :null => false
t.integer "fields_bits", :default => 0
end
create_table "user_extensions", :force => true do |t|
t.integer "user_id", :null => false
t.date "birthday"
t.string "brief_introduction"
t.integer "gender"
t.string "location"
t.string "occupation"
t.integer "work_experience"
t.integer "zip_code"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.string "technical_title"
t.integer "identity"
t.string "student_id"
t.string "teacher_realname"
t.string "student_realname"
t.string "location_city"
t.integer "school_id"
end
create_table "user_grades", :force => true do |t|
t.integer "user_id", :null => false
t.integer "project_id", :null => false
t.float "grade", :default => 0.0
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
end
add_index "user_grades", ["grade"], :name => "index_user_grades_on_grade"
add_index "user_grades", ["project_id"], :name => "index_user_grades_on_project_id"
add_index "user_grades", ["user_id"], :name => "index_user_grades_on_user_id"
create_table "user_preferences", :force => true do |t|
t.integer "user_id", :default => 0, :null => false
t.text "others"
t.boolean "hide_mail", :default => false
t.string "time_zone"
end
add_index "user_preferences", ["user_id"], :name => "index_user_preferences_on_user_id"
create_table "user_statuses", :force => true do |t|
t.integer "changesets_count"
t.integer "watchers_count"
t.integer "user_id"
t.datetime "created_at", :null => false
t.datetime "updated_at", :null => false
t.float "grade", :default => 0.0
end
add_index "user_statuses", ["changesets_count"], :name => "index_user_statuses_on_changesets_count"
add_index "user_statuses", ["grade"], :name => "index_user_statuses_on_grade"
add_index "user_statuses", ["watchers_count"], :name => "index_user_statuses_on_watchers_count"
create_table "users", :force => true do |t|
t.string "login", :default => "", :null => false
t.string "hashed_password", :limit => 40, :default => "", :null => false
t.string "firstname", :limit => 30, :default => "", :null => false
t.string "lastname", :default => "", :null => false
t.string "mail", :limit => 60, :default => "", :null => false
t.boolean "admin", :default => false, :null => false
t.integer "status", :default => 1, :null => false
t.datetime "last_login_on"
t.string "language", :limit => 5, :default => ""
t.integer "auth_source_id"
t.datetime "created_on"
t.datetime "updated_on"
t.string "type"
t.string "identity_url"
t.string "mail_notification", :default => "", :null => false
t.string "salt", :limit => 64
end
add_index "users", ["auth_source_id"], :name => "index_users_on_auth_source_id"
add_index "users", ["id", "type"], :name => "index_users_on_id_and_type"
add_index "users", ["type"], :name => "index_users_on_type"
create_table "versions", :force => true do |t|
t.integer "project_id", :default => 0, :null => false
t.string "name", :default => "", :null => false
t.string "description", :default => ""
t.date "effective_date"
t.datetime "created_on"
t.datetime "updated_on"
t.string "wiki_page_title"
t.string "status", :default => "open"
t.string "sharing", :default => "none", :null => false
end
add_index "versions", ["project_id"], :name => "versions_project_id"
add_index "versions", ["sharing"], :name => "index_versions_on_sharing"
create_table "watchers", :force => true do |t|
t.string "watchable_type", :default => "", :null => false
t.integer "watchable_id", :default => 0, :null => false
t.integer "user_id"
end
add_index "watchers", ["user_id", "watchable_type"], :name => "watchers_user_id_type"
add_index "watchers", ["user_id"], :name => "index_watchers_on_user_id"
add_index "watchers", ["watchable_id", "watchable_type"], :name => "index_watchers_on_watchable_id_and_watchable_type"
create_table "wiki_content_versions", :force => true do |t|
t.integer "wiki_content_id", :null => false
t.integer "page_id", :null => false
t.integer "author_id"
t.binary "data", :limit => 2147483647
t.string "compression", :limit => 6, :default => ""
t.string "comments", :default => ""
t.datetime "updated_on", :null => false
t.integer "version", :null => false
end
add_index "wiki_content_versions", ["updated_on"], :name => "index_wiki_content_versions_on_updated_on"
add_index "wiki_content_versions", ["wiki_content_id"], :name => "wiki_content_versions_wcid"
create_table "wiki_contents", :force => true do |t|
t.integer "page_id", :null => false
t.integer "author_id"
t.text "text", :limit => 2147483647
t.string "comments", :default => ""
t.datetime "updated_on", :null => false
t.integer "version", :null => false
end
add_index "wiki_contents", ["author_id"], :name => "index_wiki_contents_on_author_id"
add_index "wiki_contents", ["page_id"], :name => "wiki_contents_page_id"
create_table "wiki_pages", :force => true do |t|
t.integer "wiki_id", :null => false
t.string "title", :null => false
t.datetime "created_on", :null => false
t.boolean "protected", :default => false, :null => false
t.integer "parent_id"
end
add_index "wiki_pages", ["parent_id"], :name => "index_wiki_pages_on_parent_id"
add_index "wiki_pages", ["wiki_id", "title"], :name => "wiki_pages_wiki_id_title"
add_index "wiki_pages", ["wiki_id"], :name => "index_wiki_pages_on_wiki_id"
create_table "wiki_redirects", :force => true do |t|
t.integer "wiki_id", :null => false
t.string "title"
t.string "redirects_to"
t.datetime "created_on", :null => false
end
add_index "wiki_redirects", ["wiki_id", "title"], :name => "wiki_redirects_wiki_id_title"
add_index "wiki_redirects", ["wiki_id"], :name => "index_wiki_redirects_on_wiki_id"
create_table "wikis", :force => true do |t|
t.integer "project_id", :null => false
t.string "start_page", :null => false
t.integer "status", :default => 1, :null => false
end
add_index "wikis", ["project_id"], :name => "wikis_project_id"
create_table "workflows", :force => true do |t|
t.integer "tracker_id", :default => 0, :null => false
t.integer "old_status_id", :default => 0, :null => false
t.integer "new_status_id", :default => 0, :null => false
t.integer "role_id", :default => 0, :null => false
t.boolean "assignee", :default => false, :null => false
t.boolean "author", :default => false, :null => false
t.string "type", :limit => 30
t.string "field_name", :limit => 30
t.string "rule", :limit => 30
end
add_index "workflows", ["new_status_id"], :name => "index_workflows_on_new_status_id"
add_index "workflows", ["old_status_id"], :name => "index_workflows_on_old_status_id"
add_index "workflows", ["role_id", "tracker_id", "old_status_id"], :name => "wkfs_role_tracker_old_status"
add_index "workflows", ["role_id"], :name => "index_workflows_on_role_id"
end

@ -1,17 +0,0 @@
require_dependency "seems_rateable/application_controller"
module SeemsRateable
class RatingsController < ::ApplicationController
def create
raise NoCurrentUserInstanceError unless current_user
obj = params[:kls].classify.constantize.find(params[:idBox])
begin
obj.rate(params[:rate].to_i, current_user.id, params[:dimension])
render :json => true
rescue Errors::AlreadyRatedError
render :json => {:error => true}
end
end
end
end

Binary file not shown.

After

Width:  |  Height:  |  Size: 572 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 427 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1018 B

@ -12,13 +12,13 @@
$.fn.jRating = function(op) {
var defaults = {
/** String vars **/
bigStarsPath : '<%= image_path "seems_rateable/stars.png" %>', // path of the icon stars.png
smallStarsPath : '<%= image_path "seems_rateable/small.png" %>', // path of the icon small.png
path : '<%= SeemsRateable::Engine.routes.url_helpers.ratings_path %>',
bigStarsPath : '/images/seems_rateable/stars.png', // path of the icon stars.png
smallStarsPath : '/images/seems_rateable/small.png', // path of the icon small.png
path : '/ratings',
type : 'big', // can be set to 'small' or 'big'
/** Boolean vars **/
step:false, // if true, mouseover binded star by star,
step: true, // if true, mouseover binded star by star,
isDisabled:false,
showRateInfo: false,
canRateAgain : false,

@ -11,7 +11,7 @@ $(document).ready(function(){
//showRateInfo:false, //Rate info panel, set true to display
//rateInfosX : 45, //In pixel - Absolute left position of the information box during mousemove.
//rateInfosY : 5, //In pixel - Absolute top position of the information box during mousemove.
path : '<%= SeemsRateable::Engine.routes.url_helpers.ratings_path %>',
path : '/ratings',
onSuccess : function(element, rate){
//something like ->
//alert('success');

@ -5,6 +5,9 @@
-moz-box-sizing: border-box;
-box-sizing: border-box;
}
.div_inline{
display: inline-block;
}
/*文字不换行*/
.text_nowrap{
word-break:keep-all;
@ -65,7 +68,54 @@
* {
font-family: Helvetica, Tahoma, Arial, "Microsoft YaHei", "微软雅黑", SimSun, "宋体", STXihei, "华文细黑", Heiti, "黑体", sans-serif;
}
/*
*******************************************************************************/
/** jRating CSS **/
/**Div containing the color of the stars */
.jRatingAverage {
background-color:#f62929;
position:relative;
top:0;
left:0;
z-index:2;
height:100%;
}
.jRatingColor {
background-color:#FFD400; /* bgcolor of the stars*/
position:relative;
top:0;
left:0;
z-index:2;
height:100%;
}
/** Div containing the stars **/
.jStar {
position:relative;
left:0;
z-index:3;
}
/** P containing the rate informations **/
p.jRatingInfos {
position: absolute;
z-index:9999;
background: transparent url('bg_jRatingInfos.png') no-repeat;
color: #CACACA;
display: none;
width: 91px;
height: 29px;
font-size:16px;
text-align:center;
padding-top:5px;
}
p.jRatingInfos span.maxRate {
color:#c9c9c9;
font-size:14px;
}
/*
*******************************************************************************/

Loading…
Cancel
Save