You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by vi...@apache.org on 2020/07/01 03:44:51 UTC

[dubbo-go-hessian2] branch master updated: revert to f7e01d2. the master branch is protected so that cannot reset to history version

This is an automated email from the ASF dual-hosted git repository.

victory pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-go-hessian2.git


The following commit(s) were added to refs/heads/master by this push:
     new 7b6abc2  revert to f7e01d2. the master branch is protected so that cannot reset to history version
7b6abc2 is described below

commit 7b6abc205643b6c2fad03bdb9aa3c35fb5aeabfd
Author: cvictory <sh...@gmail.com>
AuthorDate: Wed Jul 1 11:44:30 2020 +0800

    revert to f7e01d2. the master branch is protected so that cannot reset to history version
---
 java_exception/exception.go    |  4 +-
 java_unknown_exception.go      | 90 ------------------------------------------
 java_unknown_exception_test.go | 43 --------------------
 list.go                        |  6 ---
 object.go                      |  5 ---
 5 files changed, 2 insertions(+), 146 deletions(-)

diff --git a/java_exception/exception.go b/java_exception/exception.go
index 30515ef..2b3f5d3 100644
--- a/java_exception/exception.go
+++ b/java_exception/exception.go
@@ -98,7 +98,7 @@ type StackTraceElement struct {
 	DeclaringClass string
 	MethodName     string
 	FileName       string
-	LineNumber     int32
+	LineNumber     int
 }
 
 //JavaClassName  java fully qualified path
@@ -121,4 +121,4 @@ func (Method) JavaClassName() string {
 
 func (Class) JavaClassName() string {
 	return "java.lang.Class"
-}
\ No newline at end of file
+}
diff --git a/java_unknown_exception.go b/java_unknown_exception.go
deleted file mode 100644
index 5ea5a49..0000000
--- a/java_unknown_exception.go
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package hessian
-
-import (
-	"fmt"
-	"sync"
-)
-
-import (
-	"github.com/apache/dubbo-go-hessian2/java_exception"
-)
-
-var (
-	expRegMutex sync.Mutex
-)
-
-func checkAndGetException(cls classInfo) (structInfo, bool) {
-
-	if len(cls.fieldNameList) < 4 {
-		return structInfo{}, false
-	}
-	var (
-		throwable structInfo
-		ok        bool
-	)
-	var count = 0
-	for _, item := range cls.fieldNameList {
-		if item == "detailMessage" || item == "suppressedExceptions" || item == "stackTrace" || item == "cause" {
-			count++
-		}
-	}
-	// if have these 4 fields, it is throwable struct
-	if count == 4 {
-		if throwable, ok = getStructInfo(cls.javaName); ok {
-			return throwable, true
-		}
-		expRegMutex.Lock()
-		defer expRegMutex.Unlock()
-		RegisterPOJO(newBizException(cls.javaName))
-		if throwable, ok = getStructInfo(cls.javaName); ok {
-			return throwable, true
-		}
-	}
-	return throwable, count == 4
-}
-
-type UnknownException struct {
-	SerialVersionUID     int64
-	DetailMessage        string
-	SuppressedExceptions []java_exception.Throwabler
-	StackTrace           []java_exception.StackTraceElement
-	Cause                java_exception.Throwabler
-	name                 string
-}
-
-// NewThrowable is the constructor
-func newBizException(name string) *UnknownException {
-	return &UnknownException{name: name, StackTrace: []java_exception.StackTraceElement{}}
-}
-
-// Error output error message
-func (e UnknownException) Error() string {
-	return fmt.Sprintf("throw %v : %v", e.name, e.DetailMessage)
-}
-
-//JavaClassName  java fully qualified path
-func (e UnknownException) JavaClassName() string {
-	return e.name
-}
-
-// equals to getStackTrace in java
-func (e UnknownException) GetStackTrace() []java_exception.StackTraceElement {
-	return e.StackTrace
-}
diff --git a/java_unknown_exception_test.go b/java_unknown_exception_test.go
deleted file mode 100644
index fa14ed3..0000000
--- a/java_unknown_exception_test.go
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- *     http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-package hessian
-
-import (
-	"github.com/stretchr/testify/assert"
-	"testing"
-)
-
-func TestCheckAndGetException(t *testing.T) {
-	clazzInfo1 := classInfo{
-		javaName:      "com.test.UserDefinedException",
-		fieldNameList: []string{"detailMessage", "code", "suppressedExceptions", "stackTrace", "cause"},
-	}
-	s, b := checkAndGetException(clazzInfo1)
-	assert.True(t, b)
-
-	assert.Equal(t, s.javaName, "com.test.UserDefinedException")
-	assert.Equal(t, s.goName, "hessian.UnknownException")
-
-	clazzInfo2 := classInfo{
-		javaName:      "com.test.UserDefinedException",
-		fieldNameList: []string{"detailMessage", "code", "suppressedExceptions", "cause"},
-	}
-	s, b = checkAndGetException(clazzInfo2)
-	assert.False(t, b)
-	assert.Equal(t, s, structInfo{})
-}
diff --git a/list.go b/list.go
index 57aaa96..34c8aec 100644
--- a/list.go
+++ b/list.go
@@ -30,10 +30,6 @@ import (
 	perrors "github.com/pkg/errors"
 )
 
-import (
-	"github.com/apache/dubbo-go-hessian2/java_exception"
-)
-
 var (
 	listTypeNameMapper = &sync.Map{}
 	listTypeMapper     = map[string]reflect.Type{
@@ -50,8 +46,6 @@ var (
 		"date":             reflect.TypeOf(time.Time{}),
 		"object":           reflect.TypeOf([]Object{}).Elem(),
 		"java.lang.Object": reflect.TypeOf([]Object{}).Elem(),
-		// exception field
-		"java.lang.StackTraceElement": reflect.TypeOf([]*java_exception.StackTraceElement{}).Elem(),
 	}
 )
 
diff --git a/object.go b/object.go
index 2a86820..e2ef7b3 100644
--- a/object.go
+++ b/object.go
@@ -377,7 +377,6 @@ func (d *Decoder) decInstance(typ reflect.Type, cls classInfo) (interface{}, err
 
 		index, fieldStruct, err := findFieldWithCache(fieldName, typ)
 		if err != nil {
-			// skip field
 			d.DecodeValue()
 			continue
 		}
@@ -548,10 +547,6 @@ func (d *Decoder) getStructDefByIndex(idx int) (reflect.Type, classInfo, error)
 	cls = d.classInfoList[idx]
 	s, ok = getStructInfo(cls.javaName)
 	if !ok {
-		// exception
-		if s , ok = checkAndGetException(cls); ok {
-			return s.typ, cls, nil
-		}
 		if !d.isSkip {
 			err = perrors.Errorf("can not find go type name %s in registry", cls.javaName)
 		}