问:
Symfony 3.3 service mocks for functional tests
Before Symfony 3.3 it was allowed to set a mocked service onto the container. Now with 3.3 a deprecation warning is thrown because the service is already pre-defined.

What is the new standard way to overwrite an existing or pre-defined service in the container to set a mocked service for a functional test?

E.g. in our case we set a new entity manager with a new mocked connection pointing to a cloned database for testing.

```<code>$container->set('doctrine.orm.entity_manager', $testEm);
</code>```

Setting the "doctrine.orm.entity_manager" pre-defined service is deprecated since Symfony 3.3 and won't be supported anymore in Symfony 4.0.

答:
I had the very same problem just a few days ago and I wrote a library to trick Symfony's DIC: https://github.com/TiMESPLiNTER/proxy-mock

The idea is to override the service in the config_test.yml with a "proxy" from the original service class which redirects all the calls to a mock which then can be set dynamically in the test case.

```<code># config_test.yml
services:
    timesplinter.proxy_mock.factory:
        class: timesplinter\ProxyMock\ProxyMockFactory

    acme.api.client:
        factory: 'timesplinter.proxy_mock.factory:create'
        arguments: ['Acme\AppBunde\Services\ApiClient']
</code>```

This will override the service defined in the original service.(xml|yml) with a proxy of it.

In the test case you can then do something like this:

```<code>// Your container aware test case (this exmaple is for PHPUnit)
$mock = $this->getMockBuilder(ApiClient::class)->disableOriginalConstructor()->getMock();

$container->set('acme.api.client')->setMock($mock);
</code>```

With this your test will run against the mock you provide using the setMock() method.

The library is very new so some feature may be missing. If you use it and miss something please provide a pull request with the desired feature.

Body:
Before Symfony 3.3 it was allowed to set a mocked service onto the container. Now with 3.3 a deprecation warning is thrown because the service is already pre-defined.

What is the new standard way to overwrite an existing or pre-defined service in the container to set a mocked service for a functional test?

E.g. in our case we set a new entity manager with a new mocked connection pointing to a cloned database for testing.

$container->set('doctrine.orm.entity_manager', $testEm);

Setting the "doctrine.orm.entity_manager" pre-defined service is deprecated since Symfony 3.3 and won't be supported anymore in Symfony 4.0.

Body:
I had the very same problem just a few days ago and I wrote a library to trick Symfony's DIC: https://github.com/TiMESPLiNTER/proxy-mock

The idea is to override the service in the config_test.yml with a "proxy" from the original service class which redirects all the calls to a mock which then can be set dynamically in the test case.

# config_test.yml
services:
    timesplinter.proxy_mock.factory:
        class: timesplinter\ProxyMock\ProxyMockFactory

    acme.api.client:
        factory: 'timesplinter.proxy_mock.factory:create'
        arguments: ['Acme\AppBunde\Services\ApiClient']

This will override the service defined in the original service.(xml|yml) with a proxy of it.

In the test case you can then do something like this:

// Your container aware test case (this exmaple is for PHPUnit)
$mock = $this->getMockBuilder(ApiClient::class)->disableOriginalConstructor()->getMock();

$container->set('acme.api.client')->setMock($mock);

With this your test will run against the mock you provide using the setMock() method.

The library is very new so some feature may be missing. If you use it and miss something please provide a pull request with the desired feature.


来源: stackexchange

问:
Counting boolean values based on certain conditions

Dear All, Attached is the sql server 2016 database table. I want to get counts of column IsAssetIssued for true and flase values based on the condition AssetTypeID. I am trying

```<code>SELECT COUNT(IsAssetIssued) AS AvlAssets
FROM AssetStatus
WHERE (IsAssetIssued = True)
  AND (AssetTypeID = 1)
</code>```

but this is does not providing exact result for false values in the column. Please suggest a better solution.

Thanks,

答:
Try this;</p>

```<code>SELECT COUNT(IsAssetIssued) AS AvlAssets ,IsAssetIssued
FROM AssetStatus
WHERE (AssetTypeID = 1)
group by IsAssetIssued
</code>```

ContentLicense: CC BY-SA 3.0

Body:
Dear All, Attached is the sql server 2016 database table. I want to get counts of column IsAssetIssued for true and flase values based on the condition AssetTypeID. I am trying

SELECT COUNT(IsAssetIssued) AS AvlAssets
FROM AssetStatus
WHERE (IsAssetIssued = True)
  AND (AssetTypeID = 1)

but this is does not providing exact result for false values in the column. Please suggest a better solution.

Thanks,

Body:
Try this;

SELECT COUNT(IsAssetIssued) AS AvlAssets ,IsAssetIssued
FROM AssetStatus
WHERE (AssetTypeID = 1)
group by IsAssetIssued


问:
java.net.MalformedURLException: unknown protocol: f
I am trying to get histogram of an image using this code Displaying a histogram of image data. Normally it works fine when input image given by url. But while I give image from local directory

```<code>private BufferedImage getImage() {
    try {
        return ImageIO.read(new URL(
            "F:/test.jpg"));
    } catch (IOException e) {
        e.printStackTrace(System.err);
    }
    return null;
}
</code>```

it gives exception,

```<code> java.net.MalformedURLException: unknown protocol: f
</code>```

How to resolve this exception and get Histogram of an image

答:
F:/test.jpg is not a valid URL. For files the URL is file://F:/test.jpg
where file is the protocol

Body:
I am trying to get histogram of an image using this code Displaying a histogram of image data. Normally it works fine when input image given by url. But while I give image from local directory

private BufferedImage getImage() {
    try {
        return ImageIO.read(new URL(
            "F:/test.jpg"));
    } catch (IOException e) {
        e.printStackTrace(System.err);
    }
    return null;
}

it gives exception,

 java.net.MalformedURLException: unknown protocol: f

How to resolve this exception and get Histogram of an image


问:
How to check a radio button based on some other value?
I have a bootstrap radio button which needs to get selected based on what value the user gives. Suppose the user enters 'male', male radio button should be selected. Consider the user enters the value in lower case.

    function check(){
    var val = document.getElementById("inp").value;
    if( val == "male"){
        //select male radio button
        }
    if(val == "female"){
         //select female radio button
        }
    }

    ```
<pre class="snippet-code-html lang-html prettyprint-override"><code><link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"></script>

    <div class="btn-group" data-toggle="buttons">
                  <p>Gender <span>*</span></p>
                  <label class="btn btn-default">
                    <input class="form-control input-sm" style="width: 0px;" value="M" type="radio" name="gender" />M</label>
                  <label class="btn btn-default">
                    <input class="form-control input-sm" style="width: 0px;" type="radio" value="F" name="gender" />F</label>

                </div><br><br>
    <input id="inp" type="text" onblur="check()"/>

    </code>```

答:
You've included jquery, so I'm using that to replace your "check" function and bind it to the input. Instead of assuming the text is lowercase, we'll coerce it manually with toLowerCase(). Note the selectors for the inputs of type radio with a matching value. Also note that we set the property 'checked' instead of older methods.

```<code>// bind keyup events on the input textbox
$(document).on('keyup', '#inp', function(e) {
    // get a lowercase version of the input text
    var input = $(this).val().toLowerCase();
    // do a comparison and set the appropriate radio
    if (input == 'male')
        $('input:radio[value=M]').prop('checked', true);
    else if (input == 'female')
        $('input:radio[value=F]').prop('checked', true);
});
</code>```

I prefer to use .on() for adding event handlers because it matches the .off() method for removing them. Binding to $(document) like this guarantees that the event handlers will run even if the form elements didn't exist when the page was creates - great for dynamically generated forms. Combining these gives you excellent control for binding and unbinding event handlers based on need and focus.

Body:
I have a bootstrap radio button which needs to get selected based on what value the user gives. Suppose the user enters 'male', male radio button should be selected. Consider the user enters the value in lower case.

    function check(){
    var val = document.getElementById("inp").value;
    if( val == "male"){
        //select male radio button
        }
    if(val == "female"){
         //select female radio button
        }
    }

<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/4.7.0/css/font-awesome.min.css">
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/css/bootstrap.min.css">

Gender *

                    <input class="form-control input-sm" style="width: 0px;" value="M" type="radio" name="gender" />M

                    <input class="form-control input-sm" style="width: 0px;" type="radio" value="F" name="gender" />F

    <input id="inp" type="text" onblur="check()"/>

Body:
You've included jquery, so I'm using that to replace your "check" function and bind it to the input. Instead of assuming the text is lowercase, we'll coerce it manually with toLowerCase(). Note the selectors for the inputs of type radio with a matching value. Also note that we set the property 'checked' instead of older methods.

// bind keyup events on the input textbox
$(document).on('keyup', '#inp', function(e) {
    // get a lowercase version of the input text
    var input = $(this).val().toLowerCase();
    // do a comparison and set the appropriate radio
    if (input == 'male')
        $('input:radio[value=M]').prop('checked', true);
    else if (input == 'female')
        $('input:radio[value=F]').prop('checked', true);
});

I prefer to use .on() for adding event handlers because it matches the .off() method for removing them. Binding to $(document) like this guarantees that the event handlers will run even if the form elements didn't exist when the page was creates - great for dynamically generated forms. Combining these gives you excellent control for binding and unbinding event handlers based on need and focus.


问:
Groovy convert sql.eachRow results to List
```<code>def List_Sftp = sql.eachRow(SftpQuery){ row ->
    if(row[4]=="SFTP")  {
        def names= row.collect{ "${row[0]},${row[1]} ${row[3]} ,${row[4]},${row[5]},${row[6]},${row[7]}" }
        println names
    }

    if(row[4]=="ROSETTANET"){
        def names= row.collect{ "${row[0]},${row[1]},${row[2]},${row[4]},${row[5]},${row[6]},${row[7]}" }
        println names
    }

}
</code>```

Output above code is

```<code>[2.01.00,SAMSUNG,123,XYZ,7C7,file1.xml,zzzz]
[2.01.00,SAMSUNG,123,XYZ,7C7,file2.xml,yyyy]
</code>```

I can't iterate this out as a list. Suggest how to convert this output to

```<code>[2.01.00,SAMSUNG,123,XYZ,7C7,file1.xml,zzzz,2.01.00,SAMSUNG,123,XYZ,7C7,file2.xml,yyyy]
</code>```

答:
```<code>def all = []
sql.eachRow(SftpQuery){ row ->
   all.addAll row
}

println all
</code>```

In all you will have all results in a single iterateble list

Body:
def List_Sftp = sql.eachRow(SftpQuery){ row ->
    if(row[4]=="SFTP")  {
        def names= row.collect{ "${row[0]},${row[1]} ${row[3]} ,${row[4]},${row[5]},${row[6]},${row[7]}" }
        println names
    }

    if(row[4]=="ROSETTANET"){
        def names= row.collect{ "${row[0]},${row[1]},${row[2]},${row[4]},${row[5]},${row[6]},${row[7]}" }
        println names
    }

}

Output above code is

[2.01.00,SAMSUNG,123,XYZ,7C7,file1.xml,zzzz]
[2.01.00,SAMSUNG,123,XYZ,7C7,file2.xml,yyyy]

I can't iterate this out as a list. Suggest how to convert this output to

[2.01.00,SAMSUNG,123,XYZ,7C7,file1.xml,zzzz,2.01.00,SAMSUNG,123,XYZ,7C7,file2.xml,yyyy]

Body:
def all = []
sql.eachRow(SftpQuery){ row ->
   all.addAll row
}

println all

In all you will have all results in a single iterateble list


问:
DB2 - handling columns defined as null
Let's say you have three textboxes that you can use to search for data.  Each textbox will correspond to a column on the DB2 table.  The search string you enter will be inserted into the where clause.  For example, you have First-Name, Last-Name, and Phone Number.  If you don't enter data into a particular textbox, I default its value in the where clause to '_', the wildcard character to select everything.  Also, lets say Phone Number is defined as NULL on the table.

Cursor1 will be used if the user has entered a Phone number to search for.  So the where clause will look something like this:

Where FIRST_NAME like :firstname AND
      LAST_NAME like  :lastname  AND
      PHONE_NBR like  :number

This works when data is entered for phone number.  But if a search is done for First Name only, the cursor returns partial or no results because the :number host variable will be populated with the "_' wildcard.  PHONE_NBR like '_' will only return the rows that have a real value.  If there is a null for PHONE_NBR on a row that matches the First Name you searched for, that row won't show up.  So I created a second cursor.

Cursor2 will be used if the user HAS NOT entered a Phone number to search for.  The Where clause looks something like this.

Where FIRST_NAME like :firstname AND
      LAST_NAME like  :lastname  AND
      (PHONE_NBR like  :number OR
       PHONE_NBR IS NULL)

So again, if a search was done for a first name only, and some values in PHONE_NBR have data, some are null, EVERYTHING that matches the first name that is searched for will show in the results - which is good.  For the rows with values in PHONE_NBR, PHONE_NBR like '_' will get those.  For the rows with null in PHONE_NBR, PHONE_NBR IS NULL will get those.

This is a minor yet necessary difference.  Because of this minor difference, I would like to combine these two cursors into one.  How can that be done to achieve the same results?

答:
Ian, i think the difference is if the user supplies a number he doesn't want to return rows with a null. using cursor 2 all the time would return rows with null along with matching numbers.

You could try a CASE statement based on :number...though i'm not sure if you can use a CASE with "is null" syntax. i know you could if you were just checking for different values (equal to, less than, etc).

ContentLicense: CC BY-SA 2.5

Title: DB2 - handling columns defined as null


问:
Comapare two images using Emgu CV
```<code>using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Features2D;
using Emgu.CV.Structure;
using Emgu.CV.UI;
using Emgu.CV.Util;
using Emgu.CV.GPU;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                Image<Bgr, Byte> modelImage = new Image<Bgr, byte>("box1_Same.png");//child
                Image<Bgr, Byte> observedImage = new Image<Bgr, byte>("box2.png");//parent

                Image<Bgr, Byte> observedImagae = modelImage.Cmp(observedImage, CMP_TYPE.CV_CMP_GE);

               // Image<Bgr, Byte> Difference; //Difference between the two frames
               //Difference = modelImage.AbsDiff(observedImage);
            }
            catch (Exception ex)
            {

                throw;
            }
        }
    }
}
</code>```

In above code i used CMP() method for two image comparison "it works if pass two same image for comparison."
if pass two different images it gives below exception
"OpenCV: src.depth() == dst.depth() && src.size == dst.size"
i tried by changing enum CMP_TYPE.CV_CMP_GE but giving same issue

"

答:
That error message tells you that you put two images of different size into a function that requires both input images to have the same dimensions.

If you think about what this function does it should make sense. The function compares two images pixel-wise. How do you compare a value vs nothing? That's not defined hence the function does not allow this situation.

The function asserts that this expression is true:

src.depth() == dst.depth() && src.size == dst.size

befor anything else happens. In your case this is false and an exception is thrown in your face.

Title: Comapare two images using Emgu CV

Body:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

using Emgu.CV;
using Emgu.CV.CvEnum;
using Emgu.CV.Features2D;
using Emgu.CV.Structure;
using Emgu.CV.UI;
using Emgu.CV.Util;
using Emgu.CV.GPU;

namespace WindowsFormsApplication5
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            try
            {
                Image<Bgr, Byte> modelImage = new Image<Bgr, byte>("box1_Same.png");//child
                Image<Bgr, Byte> observedImage = new Image<Bgr, byte>("box2.png");//parent

                Image<Bgr, Byte> observedImagae = modelImage.Cmp(observedImage, CMP_TYPE.CV_CMP_GE);

               // Image<Bgr, Byte> Difference; //Difference between the two frames
               //Difference = modelImage.AbsDiff(observedImage);
            }
            catch (Exception ex)
            {

                throw;
            }
        }
    }
}

In above code i used CMP() method for two image comparison "it works if pass two same image for comparison."
if pass two different images it gives below exception
"OpenCV: src.depth() == dst.depth() && src.size == dst.size"
i tried by changing enum CMP_TYPE.CV_CMP_GE but giving same issue

"


答:
Try this</p>

```<code>SELECT AssetTypeID,IsAssetIssued FROM
(
SELECT AssetTypeID,IsAssetIssued,
COUNT(IsAssetIssued) OVER(Partition by AssetTypeID Order by AssetTypeID )AS AvlAssets ,
ROW_NUMBER()OVER(Partition by AssetTypeID Order by AssetTypeID ) AS Seq
FROM AssetStatus
)Dt
WHERE Dt.Seq=1
</code>```

Title: Counting boolean values based on certain conditions

Body:
Try this

SELECT AssetTypeID,IsAssetIssued FROM
(
SELECT AssetTypeID,IsAssetIssued,
COUNT(IsAssetIssued) OVER(Partition by AssetTypeID Order by AssetTypeID )AS AvlAssets ,
ROW_NUMBER()OVER(Partition by AssetTypeID Order by AssetTypeID ) AS Seq
FROM AssetStatus
)Dt
WHERE Dt.Seq=1


问:
How do I create a class that processes two promises and then returns a promise?
I want to create a class whose duty is to poll data sources, collate information into an array of 'alert' objects, and then deliver a subset of those alerts to any other class that wants them.

Because polling happens asynchronously (I'm requesting data from a web service) then I assume that what I actually need to return is a promise which, when fulfilled, will give the correct subset of Alert objects.

But clearly I don't understand how to do this, because the method that is supposed to return the promise returns something else.

Here's my code so far. As you can see, I'm trying to store the promise in an instance attribute and then retrieve it:

```<code>export class AlertCollection {

  constructor() {
    this.alerts = null;
  }

  // poll the data sources for alert data; store a promise that resolves
  // to an array of alerts
  poll() {
    this.alerts = this.pollTeapot()
                    .then( (arr) => {this.pollDeliverance(arr);} );

  }

  // return a promise that fulfils to an array of the alerts you want
  filteredAlerts(filter) {
    return this.alerts; // not filtering for now
  }

  // return a promise that fulfills to the initial array of alerts
  pollTeapot() {

    let process = (json) => {
      json2 = JSON.parse(json);
      return json2.map( (a) => new Alert(a) );
    };

    message = new MessageHandler("teapot", "alerts")
    return message.request().then( (json) => {process(json);} );
  }

  // Modify the alerts based on the response from Deliverance.
  // (But for the time being let's not, and say we did.)
  pollDeliverance(alerts) {
    return alerts;
  }

}
</code>```

message.request() returns a promise from the web service. That works. If I snapshot the process function inside pollTeapot() I get the right data.

But, if I snapshot the return value from filteredAlerts() I don't get that.  I don't get null either (which would at at least make sense, although it would be wrong.) I get something like { _45: 0, _81: 0, _65: null, _54: null }.

Any pointers would be very much appreciated at this point. (This is in React Native, by the way, if that helps.)

答:
I am not sure if I understood your problem fully, but I will try to give you an generic solution to chaining promises one after another.</p>

```<code>someAsyncFunction().then(dataFromAsync1 => {
    return anotherAsyncFunction(dataFromAsync1).then(dataFromAsync2 => {
        return doSomethingWithData(dataFromAsync1, dataFromAsync2);
    });
});
</code>```

Body:
I want to create a class whose duty is to poll data sources, collate information into an array of 'alert' objects, and then deliver a subset of those alerts to any other class that wants them.

Because polling happens asynchronously (I'm requesting data from a web service) then I assume that what I actually need to return is a promise which, when fulfilled, will give the correct subset of Alert objects.

But clearly I don't understand how to do this, because the method that is supposed to return the promise returns something else.

Here's my code so far. As you can see, I'm trying to store the promise in an instance attribute and then retrieve it:

export class AlertCollection {

  constructor() {
    this.alerts = null;
  }

  // poll the data sources for alert data; store a promise that resolves
  // to an array of alerts
  poll() {
    this.alerts = this.pollTeapot()
                    .then( (arr) => {this.pollDeliverance(arr);} );

  }

  // return a promise that fulfils to an array of the alerts you want
  filteredAlerts(filter) {
    return this.alerts; // not filtering for now
  }

  // return a promise that fulfills to the initial array of alerts
  pollTeapot() {

    let process = (json) => {
      json2 = JSON.parse(json);
      return json2.map( (a) => new Alert(a) );
    };

    message = new MessageHandler("teapot", "alerts")
    return message.request().then( (json) => {process(json);} );
  }

  // Modify the alerts based on the response from Deliverance.
  // (But for the time being let's not, and say we did.)
  pollDeliverance(alerts) {
    return alerts;
  }

}

message.request() returns a promise from the web service. That works. If I snapshot the process function inside pollTeapot() I get the right data.

But, if I snapshot the return value from filteredAlerts() I don't get that.  I don't get null either (which would at at least make sense, although it would be wrong.) I get something like { _45: 0, _81: 0, _65: null, _54: null }.

Any pointers would be very much appreciated at this point. (This is in React Native, by the way, if that helps.)

Body:
I am not sure if I understood your problem fully, but I will try to give you an generic solution to chaining promises one after another.

someAsyncFunction().then(dataFromAsync1 => {
    return anotherAsyncFunction(dataFromAsync1).then(dataFromAsync2 => {
        return doSomethingWithData(dataFromAsync1, dataFromAsync2);
    });
});


问:
Reactjs AutoComplete : 'off'
```<code><div className={inputContainerClass}>
 <input
                    required
                    autoComplete='off'
                    value={value}
                    type='password'
                    maxLength=15
                />

</div>
</code>```

autoComplete : 'off', autoComplete: {'off'}, autocomplete:{false}, <input type="password"  style="display:none"> are not working.

答:
It should be autocomplete="off".
But keep in mind that chrome officially ignores this and will use autocomplete anyway. Take a look here for some workarounds

ContentLicense: CC BY-SA 4.0

Title: Reactjs AutoComplete : 'off'

Body:
 <input
                    required
                    autoComplete='off'
                    value={value}
                    type='password'
                    maxLength=15
                />

autoComplete : 'off', autoComplete: {'off'}, autocomplete:{false}, <input type="password"  style="display:none"> are not working.


问:
Mvn clean install tomcat7:deploy fails with "invalid byte tag in constant pool"
Every time that I run mvn clean install tomcat7:deploy in the command prompt, it fails. When I open the generated log file, it says that there is an invalid byte tag in constant pool. The file that it specifies is java/lang/CharSequence.class.

Here is the log:

```---- AspectJ Properties ---
AspectJ Compiler 1.6.9.RC3 built on Wednesday Jun 30, 2010 at 15:46:30 GMT
---- Dump Properties ---
Dump file: ajcore.20141116.131622.157.txt
Dump reason: org.aspectj.apache.bcel.classfile.ClassFormatException
Dump on exception: true
Dump at exit condition: abort
---- Exception Information ---
org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'java/lang    /CharSequence.class': Invalid byte tag in constant pool: 15
at org.aspectj.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:192)
at org.aspectj.apache.bcel.classfile.ClassParser.parse(ClassParser.java:131)
at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:412)
at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:373)
at org.aspectj.weaver.World.resolveToReferenceType(World.java:452)
at org.aspectj.weaver.World.resolve(World.java:298)
at org.aspectj.weaver.World.resolve(World.java:211)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:95)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:41)
at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:807)
at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:255)
at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:625)
at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:76)
at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1390)
at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1371)
at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1442)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:791)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:636)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.createBinaryTypeFrom(AjLookupEnvironment.java:1346)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:599)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:276)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:113)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:133)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(BinaryTypeBinding.java:974)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.methodsBase(BinaryTypeBinding.java:957)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.methods(BinaryTypeBinding.java:1116)
at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:243)
at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:594)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.isAspect(AjPipeliningCompilerAdapter.java:649)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.containsAnAspect(AjPipeliningCompilerAdapter.java:607)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterDietParsing(AjPipeliningCompilerAdapter.java:206)
at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$4$2cef295e(CompilerAdapter.aj:93)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:358)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:371)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1022)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:268)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181)
at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
at org.aspectj.tools.ajc.Main.run(Main.java:363)
at org.aspectj.tools.ajc.Main.runMain(Main.java:240)
at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:360)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
---- System Properties ---
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=c:\program files\java\jdk1.8.0_11\jre\bin
java.vm.version=25.11-b03
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
guice.disable.misplaced.annotation.check=true
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.country=US
user.script=
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Users\phill_000\Documents\Bingocise\Server\bingocise
java.runtime.version=1.8.0_11-b12
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=c:\program files\java\jdk1.8.0_11\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\PHILL_~1\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
classworlds.conf=C:\devtools\maven\bin\..\bin\m2.conf
sun.jnu.encoding=Cp1252
java.library.path=c:\program files\java\jdk1.8.0_11\bin;C:\WINDOWS\Sun\Java\bin;C:    \WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\nodejs\;c:\users\phill_000\development\Android\sdk\tools;c:\users\phill_000\development\Android\sdk\platform-tools;C:\Ant\bin;C:\Ant\bin\ant.bat;C:\Program Files\TortoiseSVN\bin;C:\devtools\maven\bin;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\Doctrine extensions for PHP\;c:\program files\java\jdk1.8.0_11\bin;C:\Users\phill_000\AppData\Roaming\npm;c:\users\phill_000\development\Android\sdk\tools;c:\users\phill_000\development\Android\sdk\platform-tools;C:\Ant\bin;C:\Ant\bin\ant.bat;.
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\phill_000
user.timezone=America/Chicago
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=Cp1252
java.specification.version=1.8
java.class.path=C:\devtools\maven\bin\..\boot\plexus-classworlds-2.5.1.jar
user.name=phill_000
java.vm.specification.version=1.8
sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher clean install     tomcat7:deploy
java.home=c:\program files\java\jdk1.8.0_11\jre
sun.arch.data.model=64
user.language=en
java.specification.vendor=Oracle Corporation
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_11
java.ext.dirs=c:\program files\java\jdk1.8.0_11\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path=c:\program files\java\jdk1.8.0_11\jre\lib\resources.jar;c:\program     files\java\jdk1.8.0_11\jre\lib\rt.jar;c:\program files\java\jdk1.8.0_11        \jre\lib\sunrsasign.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jsse.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jce.jar;c:\program files\java\jdk1.8.0_11\jre\lib\charsets.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jfr.jar;c:\program files\java\jdk1.8.0_11\jre\classes
java.vendor=Oracle Corporation
sun.stderr.encoding=cp437
maven.home=C:\devtools\maven\bin\..
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.stdout.encoding=cp437
sun.desktop=windows
sun.cpu.isalist=amd64
---- Command Line ---
-outxml
-source
1.6
-target
1.6
-classpath
C:\Users\phill_000\.m2\repository\antlr\antlr\2.7.6\antlr-2.7.6.jar;C:\Users\phill_000    \.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Usersv    \phill_000\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\phill_000\.m2\repository\cglib\cglib\2.2\cglib-2.2.jar;C:\Users\phill_000\.m2\repository\com\google\code\geocoder-java\geocoder-java\0.15\geocoder-java-0.15.jar;C:\Users\phill_000\.m2\repository\com\google\code\gson\gson\1.7.2\gson-1.7.2.jar;C:\Users\phill_000\.m2\repository\com\google\guava\guava\r08\guava-r08.jar;C:\Users\phill_000\.m2\repository\com\itextpdf\itextpdf\5.3.1\itextpdf-5.3.1.jar;C:\Users\phill_000\.m2\repository\com\itextpdf\tool\xmlworker\1.1.5\xmlworker-1.1.5.jar;C:\Users\phill_000\.m2\repository\com\sun\faces\jsf-api\2.2.7\jsf-api-2.2.7.jar;C:\Users\phill_000\.m2\repository\com\sun\faces\jsf-impl\2.2.7\jsf-impl-2.2.7.jar;C:\Users\phill_000\.m2\repository\commons-beanutils\commons-beanutils\1.8.0\commons-beanutils-1.8.0.jar;C:\Users\phill_000\.m2\repository\commons-codec\commons-codec\1.3\commons-codec-1.3.jar;C:\Users\phill_000\.m2\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar;C:\Users\phill_000\.m2\repository\commons-dbcp\commons-dbcp\20030825.184428\commons-dbcp-20030825.184428.jar;C:\Users\phill_000\.m2\repository\commons-digester\commons-digester\2.0\commons-digester-2.0.jar;C:\Users\phill_000\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\phill_000\.m2\repository\commons-io\commons-io\1.3.1\commons-io-1.3.1.jar;C:\Users\phill_000\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\phill_000\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\phill_000\.m2\repository\commons-pool\commons-pool\20030825.183949\commons-pool-20030825.183949.jar;C:\Users\phill_000\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\phill_000\.m2\repository\javassist\javassist\3.9.0.GA\javassist-3.9.0.GA.jar;C:\Users\phill_000\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\phill_000\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\phill_000\.m2\repository\javax\mail\mail\1.4\mail-1.4.jar;C:\Users\phill_000\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\phill_000\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\phill_000\.m2\repository\javax\transaction\jta\1.1\jta-1.1.jar;C:\Users\phill_000\.m2\repository\jboss\javassist\3.7.ga\javassist-3.7.ga.jar;C:\Users\phill_000\.m2\repository\junit\junit\4.7\junit-4.7.jar;C:\Users\phill_000\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\phill_000\.m2\repository\mysql\mysql-connector-java\5.1.16\mysql-connector-java-5.1.16.jar;C:\Users\phill_000\.m2\repository\ognl\ognl\2.7.3\ognl-2.7.3.jar;C:\Users\phill_000\.m2\repository\opensymphony\ognl\2.6.11\ognl-2.6.11.jar;C:\Users\phill_000\.m2\repository\org\antlr\antlr-runtime\3.3\antlr-runtime-3.3.jar;C:\Users\phill_000\.m2\repository\org\antlr\stringtemplate\4.0.2\stringtemplate-4.0.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-api\2.2.2\tiles-api-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-compat\2.2.2\tiles-compat-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-core\2.2.2\tiles-core-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-el\2.2.2\tiles-el-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-extras\2.2.2\tiles-extras-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-freemarker\2.2.2\tiles-freemarker-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-jsp\2.2.2\tiles-jsp-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-mvel\2.2.2\tiles-mvel-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-ognl\2.2.2\tiles-ognl-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-servlet\2.2.2\tiles-servlet-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-servlet-wildcard\2.2.2\tiles-servlet-wildcard-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-template\2.2.2\tiles-template-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-velocity\2.2.2\tiles-velocity-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\velocity\velocity\1.6.2\velocity-1.6.2.jar;C:\Users\phill_000\.m2\repository\org\apache\velocity\velocity-tools\2.0\velocity-tools-2.0.jar;C:\Users\phill_000\.m2\repository\org\aspectj\aspectjrt\1.6.9\aspectjrt-1.6.9.jar;C:\Users\phill_000\.m2\repository\org\aspectj\aspectjweaver\1.6.11\aspectjweaver-1.6.11.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-annotations\2.1.7\atmosphere-annotations-2.1.7.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-compat-tomcat\2.0.1\atmosphere-compat-tomcat-2.0.1.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-compat-tomcat7\2.0.1\atmosphere-compat-tomcat7-2.0.1.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-runtime\2.1.7\atmosphere-runtime-2.1.7.jar;C:\Users\phill_000\.m2\repository\org\bouncycastle\bcprov-jdk16\1.46\bcprov-jdk16-1.46.jar;C:\Users\phill_000\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\phill_000\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\phill_000\.m2\repository\org\freemarker\freemarker\2.3.15\freemarker-2.3.15.jar;C:\Users\phill_000\.m2\repository\org\hibernate\ejb3-persistence\1.0.2.GA\ejb3-persistence-1.0.2.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-annotations\3.4.0.GA\hibernate-annotations-3.4.0.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-commons-annotations\3.1.0.GA\hibernate-commons-annotations-3.1.0.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-core\3.3.0.SP1\hibernate-core-3.3.0.SP1.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-entitymanager\3.4.0.GA\hibernate-entitymanager-3.4.0.GA.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt\1.9.0\jasypt-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt-hibernate3\1.9.0\jasypt-hibernate3-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt-spring31\1.9.0\jasypt-spring31-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jsoup\jsoup\1.7.2\jsoup-1.7.2.jar;C:\Users\phill_000\.m2\repository\org\mvel\mvel2\2.0.11\mvel2-2.0.11.jar;C:\Users\phill_000\.m2\repository\org\primefaces\primefaces\5.0\primefaces-5.0.jar;C:\Users\phill_000\.m2\repository\org\primefaces\extensions\all-themes\1.0.7\all-themes-1.0.7.jar;C:\Users\phill_000\.m2\repository\org\primefaces\themes\all-themes\1.0.10\all-themes-1.0.10.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz\1.8.5\quartz-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-jboss\1.8.5\quartz-jboss-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-oracle\1.8.5\quartz-oracle-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-weblogic\1.8.5\quartz-weblogic-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\reflections\reflections\0.9.5\reflections-0.9.5.jar;C:\Users\phill_000\.m2\repository\org\slf4j\jcl-over-slf4j\1.5.10\jcl-over-slf4j-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\slf4j\slf4j-api\1.5.10\slf4j-api-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\slf4j\slf4j-log4j12\1.5.10\slf4j-log4j12-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-aop\3.2.3.RELEASE\spring-aop-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-beans\3.2.3.RELEASE\spring-beans-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-context\3.2.3.RELEASE\spring-context-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-context-support\3.2.3.RELEASE\spring-context-support-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-core\3.2.3.RELEASE\spring-core-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-expression\3.2.3.RELEASE\spring-expression-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-jdbc\3.2.3.RELEASE\spring-jdbc-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-orm\3.2.3.RELEASE\spring-orm-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-oxm\3.2.3.RELEASE\spring-oxm-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-test\3.2.3.RELEASE\spring-test-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-tx\3.2.3.RELEASE\spring-tx-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-web\3.2.3.RELEASE\spring-web-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-webmvc\3.2.3.RELEASE\spring-webmvc-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-webmvc-portlet\3.2.3.RELEASE\spring-webmvc-portlet-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\ldap\spring-ldap-core\1.3.2.RELEASE\spring-ldap-core-1.3.2.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-acl\3.2.3.RELEASE\spring-security-acl-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-config\3.2.3.RELEASE\spring-security-config-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-core\3.2.3.RELEASE\spring-security-core-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-ldap\3.2.3.RELEASE\spring-security-ldap-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-taglibs\3.2.3.RELEASE\spring-security-taglibs-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-web\3.2.3.RELEASE\spring-security-web-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-binding\2.4.0.RELEASE\spring-binding-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-faces\2.4.0.RELEASE\spring-faces-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-js\2.4.0.RELEASE\spring-js-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-js-resources\2.4.0.RELEASE\spring-js-resources-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-webflow\2.4.0.RELEASE\spring-webflow-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\tuckey\urlrewritefilter\4.0.3\urlrewritefilter-4.0.3.jar;C:\Users\phill_000\.m2\repository\oro\oro\2.0.8\oro-2.0.8.jar;C:\Users\phill_000\.m2\repository\taglibs\standard\1.1.2\standard-1.1.2.jar;C:\Users\phill_000\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\phill_000\Documents\Bingocise\Server\bingocise\target\classes
-d
C:\Users\phill_000\Documents\Bingocise\Server\bingocise\target\classes
```

<p>EDIT:These are the dependencies related to org.aspectj</p>

```<org.aspectj-version>1.6.9</org.aspectj-version>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.6.11</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjtools</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
```

答:
I got this error when building a project with Java 8 and AspectJ version 1.6.11, which as it turned out are incompatible.

Solution: Try to downgrade Java compiler to JDK 7 or upgrade AspectJ dependecies to 1.8+

Look for the following artifacts related to AspectJ in your project:

```<code><dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjtools</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.6.11</version>
</dependency>
</code>```

Body:
Every time that I run mvn clean install tomcat7:deploy in the command prompt, it fails. When I open the generated log file, it says that there is an invalid byte tag in constant pool. The file that it specifies is java/lang/CharSequence.class.

Here is the log:

---- AspectJ Properties ---
AspectJ Compiler 1.6.9.RC3 built on Wednesday Jun 30, 2010 at 15:46:30 GMT
---- Dump Properties ---
Dump file: ajcore.20141116.131622.157.txt
Dump reason: org.aspectj.apache.bcel.classfile.ClassFormatException
Dump on exception: true
Dump at exit condition: abort
---- Exception Information ---
org.aspectj.apache.bcel.classfile.ClassFormatException: File: 'java/lang    /CharSequence.class': Invalid byte tag in constant pool: 15
at org.aspectj.apache.bcel.classfile.ClassParser.readConstantPool(ClassParser.java:192)
at org.aspectj.apache.bcel.classfile.ClassParser.parse(ClassParser.java:131)
at org.aspectj.weaver.bcel.BcelWorld.lookupJavaClass(BcelWorld.java:412)
at org.aspectj.weaver.bcel.BcelWorld.resolveDelegate(BcelWorld.java:373)
at org.aspectj.weaver.World.resolveToReferenceType(World.java:452)
at org.aspectj.weaver.World.resolve(World.java:298)
at org.aspectj.weaver.World.resolve(World.java:211)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:95)
at org.aspectj.weaver.bcel.BcelGenericSignatureToTypeXConverter.classTypeSignature2TypeX(BcelGenericSignatureToTypeXConverter.java:41)
at org.aspectj.weaver.bcel.BcelObjectType.ensureGenericSignatureUnpacked(BcelObjectType.java:807)
at org.aspectj.weaver.bcel.BcelObjectType.getDeclaredInterfaces(BcelObjectType.java:255)
at org.aspectj.weaver.ReferenceType.getDeclaredInterfaces(ReferenceType.java:625)
at org.aspectj.weaver.ResolvedType.getDirectSupertypes(ResolvedType.java:76)
at org.aspectj.weaver.ResolvedType.collectInterTypeMungers(ResolvedType.java:1390)
at org.aspectj.weaver.ResolvedType.getInterTypeMungersIncludingSupers(ResolvedType.java:1371)
at org.aspectj.weaver.ResolvedType.checkInterTypeMungers(ResolvedType.java:1442)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:791)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.weaveInterTypeDeclarations(AjLookupEnvironment.java:636)
at org.aspectj.ajdt.internal.compiler.lookup.AjLookupEnvironment.createBinaryTypeFrom(AjLookupEnvironment.java:1346)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.createBinaryTypeFrom(LookupEnvironment.java:599)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.accept(Compiler.java:276)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.LookupEnvironment.askForType(LookupEnvironment.java:113)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.UnresolvedReferenceBinding.resolve(UnresolvedReferenceBinding.java:49)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveType(BinaryTypeBinding.java:133)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.resolveTypesFor(BinaryTypeBinding.java:974)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.methodsBase(BinaryTypeBinding.java:957)
at org.aspectj.org.eclipse.jdt.internal.compiler.lookup.BinaryTypeBinding.methods(BinaryTypeBinding.java:1116)
at org.aspectj.org.eclipse.jdt.internal.compiler.ast.Annotation.resolveType(Annotation.java:243)
at org.aspectj.org.eclipse.jdt.internal.compiler.ast.ASTNode.resolveAnnotations(ASTNode.java:594)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.isAspect(AjPipeliningCompilerAdapter.java:649)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.containsAnAspect(AjPipeliningCompilerAdapter.java:607)
at org.aspectj.ajdt.internal.compiler.AjPipeliningCompilerAdapter.afterDietParsing(AjPipeliningCompilerAdapter.java:206)
at org.aspectj.ajdt.internal.compiler.CompilerAdapter.ajc$afterReturning$org_aspectj_ajdt_internal_compiler_CompilerAdapter$4$2cef295e(CompilerAdapter.aj:93)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.beginToCompile(Compiler.java:358)
at org.aspectj.org.eclipse.jdt.internal.compiler.Compiler.compile(Compiler.java:371)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performCompilation(AjBuildManager.java:1022)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.performBuild(AjBuildManager.java:268)
at org.aspectj.ajdt.internal.core.builder.AjBuildManager.batchBuild(AjBuildManager.java:181)
at org.aspectj.ajdt.ajc.AjdtCommand.doCommand(AjdtCommand.java:112)
at org.aspectj.ajdt.ajc.AjdtCommand.runCommand(AjdtCommand.java:60)
at org.aspectj.tools.ajc.Main.run(Main.java:363)
at org.aspectj.tools.ajc.Main.runMain(Main.java:240)
at org.codehaus.mojo.aspectj.AbstractAjcCompiler.execute(AbstractAjcCompiler.java:360)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:132)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:208)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:116)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:483)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
---- System Properties ---
java.runtime.name=Java(TM) SE Runtime Environment
sun.boot.library.path=c:\program files\java\jdk1.8.0_11\jre\bin
java.vm.version=25.11-b03
java.vm.vendor=Oracle Corporation
java.vendor.url=http://java.oracle.com/
guice.disable.misplaced.annotation.check=true
path.separator=;
java.vm.name=Java HotSpot(TM) 64-Bit Server VM
file.encoding.pkg=sun.io
user.country=US
user.script=
sun.java.launcher=SUN_STANDARD
sun.os.patch.level=
java.vm.specification.name=Java Virtual Machine Specification
user.dir=C:\Users\phill_000\Documents\Bingocise\Server\bingocise
java.runtime.version=1.8.0_11-b12
java.awt.graphicsenv=sun.awt.Win32GraphicsEnvironment
java.endorsed.dirs=c:\program files\java\jdk1.8.0_11\jre\lib\endorsed
os.arch=amd64
java.io.tmpdir=C:\Users\PHILL_~1\AppData\Local\Temp\
line.separator=

java.vm.specification.vendor=Oracle Corporation
user.variant=
os.name=Windows 8.1
classworlds.conf=C:\devtools\maven\bin\..\bin\m2.conf
sun.jnu.encoding=Cp1252
java.library.path=c:\program files\java\jdk1.8.0_11\bin;C:\WINDOWS\Sun\Java\bin;C:    \WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\ProgramData\Oracle\Java\javapath;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\;C:\Program Files\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\PrivateAssemblies\;C:\Program Files (x86)\Microsoft SQL Server\110\DTS\Binn\;C:\Program Files\nodejs\;c:\users\phill_000\development\Android\sdk\tools;c:\users\phill_000\development\Android\sdk\platform-tools;C:\Ant\bin;C:\Ant\bin\ant.bat;C:\Program Files\TortoiseSVN\bin;C:\devtools\maven\bin;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\;C:\Program Files (x86)\MySQL\MySQL Fabric 1.5.2 & MySQL Utilities 1.5.2 1.5\Doctrine extensions for PHP\;c:\program files\java\jdk1.8.0_11\bin;C:\Users\phill_000\AppData\Roaming\npm;c:\users\phill_000\development\Android\sdk\tools;c:\users\phill_000\development\Android\sdk\platform-tools;C:\Ant\bin;C:\Ant\bin\ant.bat;.
java.specification.name=Java Platform API Specification
java.class.version=52.0
sun.management.compiler=HotSpot 64-Bit Tiered Compilers
os.version=6.3
user.home=C:\Users\phill_000
user.timezone=America/Chicago
java.awt.printerjob=sun.awt.windows.WPrinterJob
file.encoding=Cp1252
java.specification.version=1.8
java.class.path=C:\devtools\maven\bin\..\boot\plexus-classworlds-2.5.1.jar
user.name=phill_000
java.vm.specification.version=1.8
sun.java.command=org.codehaus.plexus.classworlds.launcher.Launcher clean install     tomcat7:deploy
java.home=c:\program files\java\jdk1.8.0_11\jre
sun.arch.data.model=64
user.language=en
java.specification.vendor=Oracle Corporation
awt.toolkit=sun.awt.windows.WToolkit
java.vm.info=mixed mode
java.version=1.8.0_11
java.ext.dirs=c:\program files\java\jdk1.8.0_11\jre\lib\ext;C:\WINDOWS\Sun\Java\lib\ext
sun.boot.class.path=c:\program files\java\jdk1.8.0_11\jre\lib\resources.jar;c:\program     files\java\jdk1.8.0_11\jre\lib\rt.jar;c:\program files\java\jdk1.8.0_11        \jre\lib\sunrsasign.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jsse.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jce.jar;c:\program files\java\jdk1.8.0_11\jre\lib\charsets.jar;c:\program files\java\jdk1.8.0_11\jre\lib\jfr.jar;c:\program files\java\jdk1.8.0_11\jre\classes
java.vendor=Oracle Corporation
sun.stderr.encoding=cp437
maven.home=C:\devtools\maven\bin\..
file.separator=\
java.vendor.url.bug=http://bugreport.sun.com/bugreport/
sun.io.unicode.encoding=UnicodeLittle
sun.cpu.endian=little
sun.stdout.encoding=cp437
sun.desktop=windows
sun.cpu.isalist=amd64
---- Command Line ---
-outxml
-source
1.6
-target
1.6
-classpath
C:\Users\phill_000\.m2\repository\antlr\antlr\2.7.6\antlr-2.7.6.jar;C:\Users\phill_000    \.m2\repository\aopalliance\aopalliance\1.0\aopalliance-1.0.jar;C:\Usersv    \phill_000\.m2\repository\asm\asm\3.1\asm-3.1.jar;C:\Users\phill_000\.m2\repository\cglib\cglib\2.2\cglib-2.2.jar;C:\Users\phill_000\.m2\repository\com\google\code\geocoder-java\geocoder-java\0.15\geocoder-java-0.15.jar;C:\Users\phill_000\.m2\repository\com\google\code\gson\gson\1.7.2\gson-1.7.2.jar;C:\Users\phill_000\.m2\repository\com\google\guava\guava\r08\guava-r08.jar;C:\Users\phill_000\.m2\repository\com\itextpdf\itextpdf\5.3.1\itextpdf-5.3.1.jar;C:\Users\phill_000\.m2\repository\com\itextpdf\tool\xmlworker\1.1.5\xmlworker-1.1.5.jar;C:\Users\phill_000\.m2\repository\com\sun\faces\jsf-api\2.2.7\jsf-api-2.2.7.jar;C:\Users\phill_000\.m2\repository\com\sun\faces\jsf-impl\2.2.7\jsf-impl-2.2.7.jar;C:\Users\phill_000\.m2\repository\commons-beanutils\commons-beanutils\1.8.0\commons-beanutils-1.8.0.jar;C:\Users\phill_000\.m2\repository\commons-codec\commons-codec\1.3\commons-codec-1.3.jar;C:\Users\phill_000\.m2\repository\commons-collections\commons-collections\3.1\commons-collections-3.1.jar;C:\Users\phill_000\.m2\repository\commons-dbcp\commons-dbcp\20030825.184428\commons-dbcp-20030825.184428.jar;C:\Users\phill_000\.m2\repository\commons-digester\commons-digester\2.0\commons-digester-2.0.jar;C:\Users\phill_000\.m2\repository\commons-httpclient\commons-httpclient\3.1\commons-httpclient-3.1.jar;C:\Users\phill_000\.m2\repository\commons-io\commons-io\1.3.1\commons-io-1.3.1.jar;C:\Users\phill_000\.m2\repository\commons-lang\commons-lang\2.4\commons-lang-2.4.jar;C:\Users\phill_000\.m2\repository\commons-logging\commons-logging\1.1.1\commons-logging-1.1.1.jar;C:\Users\phill_000\.m2\repository\commons-pool\commons-pool\20030825.183949\commons-pool-20030825.183949.jar;C:\Users\phill_000\.m2\repository\dom4j\dom4j\1.6.1\dom4j-1.6.1.jar;C:\Users\phill_000\.m2\repository\javassist\javassist\3.9.0.GA\javassist-3.9.0.GA.jar;C:\Users\phill_000\.m2\repository\javax\activation\activation\1.1\activation-1.1.jar;C:\Users\phill_000\.m2\repository\javax\inject\javax.inject\1\javax.inject-1.jar;C:\Users\phill_000\.m2\repository\javax\mail\mail\1.4\mail-1.4.jar;C:\Users\phill_000\.m2\repository\javax\servlet\servlet-api\2.5\servlet-api-2.5.jar;C:\Users\phill_000\.m2\repository\javax\servlet\jsp\jsp-api\2.1\jsp-api-2.1.jar;C:\Users\phill_000\.m2\repository\javax\transaction\jta\1.1\jta-1.1.jar;C:\Users\phill_000\.m2\repository\jboss\javassist\3.7.ga\javassist-3.7.ga.jar;C:\Users\phill_000\.m2\repository\junit\junit\4.7\junit-4.7.jar;C:\Users\phill_000\.m2\repository\log4j\log4j\1.2.16\log4j-1.2.16.jar;C:\Users\phill_000\.m2\repository\mysql\mysql-connector-java\5.1.16\mysql-connector-java-5.1.16.jar;C:\Users\phill_000\.m2\repository\ognl\ognl\2.7.3\ognl-2.7.3.jar;C:\Users\phill_000\.m2\repository\opensymphony\ognl\2.6.11\ognl-2.6.11.jar;C:\Users\phill_000\.m2\repository\org\antlr\antlr-runtime\3.3\antlr-runtime-3.3.jar;C:\Users\phill_000\.m2\repository\org\antlr\stringtemplate\4.0.2\stringtemplate-4.0.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-api\2.2.2\tiles-api-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-compat\2.2.2\tiles-compat-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-core\2.2.2\tiles-core-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-el\2.2.2\tiles-el-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-extras\2.2.2\tiles-extras-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-freemarker\2.2.2\tiles-freemarker-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-jsp\2.2.2\tiles-jsp-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-mvel\2.2.2\tiles-mvel-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-ognl\2.2.2\tiles-ognl-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-servlet\2.2.2\tiles-servlet-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-servlet-wildcard\2.2.2\tiles-servlet-wildcard-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-template\2.2.2\tiles-template-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\tiles\tiles-velocity\2.2.2\tiles-velocity-2.2.2.jar;C:\Users\phill_000\.m2\repository\org\apache\velocity\velocity\1.6.2\velocity-1.6.2.jar;C:\Users\phill_000\.m2\repository\org\apache\velocity\velocity-tools\2.0\velocity-tools-2.0.jar;C:\Users\phill_000\.m2\repository\org\aspectj\aspectjrt\1.6.9\aspectjrt-1.6.9.jar;C:\Users\phill_000\.m2\repository\org\aspectj\aspectjweaver\1.6.11\aspectjweaver-1.6.11.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-annotations\2.1.7\atmosphere-annotations-2.1.7.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-compat-tomcat\2.0.1\atmosphere-compat-tomcat-2.0.1.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-compat-tomcat7\2.0.1\atmosphere-compat-tomcat7-2.0.1.jar;C:\Users\phill_000\.m2\repository\org\atmosphere\atmosphere-runtime\2.1.7\atmosphere-runtime-2.1.7.jar;C:\Users\phill_000\.m2\repository\org\bouncycastle\bcprov-jdk16\1.46\bcprov-jdk16-1.46.jar;C:\Users\phill_000\.m2\repository\org\codehaus\jackson\jackson-core-asl\1.9.13\jackson-core-asl-1.9.13.jar;C:\Users\phill_000\.m2\repository\org\codehaus\jackson\jackson-mapper-asl\1.9.13\jackson-mapper-asl-1.9.13.jar;C:\Users\phill_000\.m2\repository\org\freemarker\freemarker\2.3.15\freemarker-2.3.15.jar;C:\Users\phill_000\.m2\repository\org\hibernate\ejb3-persistence\1.0.2.GA\ejb3-persistence-1.0.2.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-annotations\3.4.0.GA\hibernate-annotations-3.4.0.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-commons-annotations\3.1.0.GA\hibernate-commons-annotations-3.1.0.GA.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-core\3.3.0.SP1\hibernate-core-3.3.0.SP1.jar;C:\Users\phill_000\.m2\repository\org\hibernate\hibernate-entitymanager\3.4.0.GA\hibernate-entitymanager-3.4.0.GA.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt\1.9.0\jasypt-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt-hibernate3\1.9.0\jasypt-hibernate3-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jasypt\jasypt-spring31\1.9.0\jasypt-spring31-1.9.0.jar;C:\Users\phill_000\.m2\repository\org\jsoup\jsoup\1.7.2\jsoup-1.7.2.jar;C:\Users\phill_000\.m2\repository\org\mvel\mvel2\2.0.11\mvel2-2.0.11.jar;C:\Users\phill_000\.m2\repository\org\primefaces\primefaces\5.0\primefaces-5.0.jar;C:\Users\phill_000\.m2\repository\org\primefaces\extensions\all-themes\1.0.7\all-themes-1.0.7.jar;C:\Users\phill_000\.m2\repository\org\primefaces\themes\all-themes\1.0.10\all-themes-1.0.10.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz\1.8.5\quartz-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-jboss\1.8.5\quartz-jboss-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-oracle\1.8.5\quartz-oracle-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\quartz-scheduler\quartz-weblogic\1.8.5\quartz-weblogic-1.8.5.jar;C:\Users\phill_000\.m2\repository\org\reflections\reflections\0.9.5\reflections-0.9.5.jar;C:\Users\phill_000\.m2\repository\org\slf4j\jcl-over-slf4j\1.5.10\jcl-over-slf4j-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\slf4j\slf4j-api\1.5.10\slf4j-api-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\slf4j\slf4j-log4j12\1.5.10\slf4j-log4j12-1.5.10.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-aop\3.2.3.RELEASE\spring-aop-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-beans\3.2.3.RELEASE\spring-beans-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-context\3.2.3.RELEASE\spring-context-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-context-support\3.2.3.RELEASE\spring-context-support-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-core\3.2.3.RELEASE\spring-core-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-expression\3.2.3.RELEASE\spring-expression-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-jdbc\3.2.3.RELEASE\spring-jdbc-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-orm\3.2.3.RELEASE\spring-orm-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-oxm\3.2.3.RELEASE\spring-oxm-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-test\3.2.3.RELEASE\spring-test-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-tx\3.2.3.RELEASE\spring-tx-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-web\3.2.3.RELEASE\spring-web-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-webmvc\3.2.3.RELEASE\spring-webmvc-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\spring-webmvc-portlet\3.2.3.RELEASE\spring-webmvc-portlet-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\ldap\spring-ldap-core\1.3.2.RELEASE\spring-ldap-core-1.3.2.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-acl\3.2.3.RELEASE\spring-security-acl-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-config\3.2.3.RELEASE\spring-security-config-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-core\3.2.3.RELEASE\spring-security-core-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-ldap\3.2.3.RELEASE\spring-security-ldap-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-taglibs\3.2.3.RELEASE\spring-security-taglibs-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\security\spring-security-web\3.2.3.RELEASE\spring-security-web-3.2.3.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-binding\2.4.0.RELEASE\spring-binding-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-faces\2.4.0.RELEASE\spring-faces-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-js\2.4.0.RELEASE\spring-js-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-js-resources\2.4.0.RELEASE\spring-js-resources-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\springframework\webflow\spring-webflow\2.4.0.RELEASE\spring-webflow-2.4.0.RELEASE.jar;C:\Users\phill_000\.m2\repository\org\tuckey\urlrewritefilter\4.0.3\urlrewritefilter-4.0.3.jar;C:\Users\phill_000\.m2\repository\oro\oro\2.0.8\oro-2.0.8.jar;C:\Users\phill_000\.m2\repository\taglibs\standard\1.1.2\standard-1.1.2.jar;C:\Users\phill_000\.m2\repository\xml-apis\xml-apis\1.0.b2\xml-apis-1.0.b2.jar;C:\Users\phill_000\Documents\Bingocise\Server\bingocise\target\classes
-d
C:\Users\phill_000\Documents\Bingocise\Server\bingocise\target\classes

EDIT:These are the dependencies related to org.aspectj

<org.aspectj-version>1.6.9</org.aspectj-version>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjweaver</artifactId>
        <version>1.6.11</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjrt</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>
    <dependency>
        <groupId>org.aspectj</groupId>
        <artifactId>aspectjtools</artifactId>
        <version>${org.aspectj-version}</version>
    </dependency>

Body:
I got this error when building a project with Java 8 and AspectJ version 1.6.11, which as it turned out are incompatible.

Solution: Try to downgrade Java compiler to JDK 7 or upgrade AspectJ dependecies to 1.8+

Look for the following artifacts related to AspectJ in your project:

<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjrt</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjtools</artifactId>
    <version>1.6.11</version>
</dependency>
<dependency>
    <groupId>org.aspectj</groupId>
    <artifactId>aspectjweaver</artifactId>
    <version>1.6.11</version>
</dependency>


问:
Singleton instance declared as static variable of GetInstance method, is it thread-safe?
I've seen implementations of Singleton patterns where instance variable was declared as static variable in GetInstance method. Like this:

```<code>SomeBaseClass &SomeClass::GetInstance()
{
   static SomeClass instance;
   return instance;
}
</code>```

I see following positive sides of this approach:

The code is simpler, because it's compiler who responsible for creating this object only when GetInstance called for the first time.

The code is safer, because there is no other way to get reference to instance, but with GetInstance method and there is no other way to change instance, but inside GetInstance method.

What are the negative sides of this approach (except that this is not very OOP-ish) ? Is this thread-safe?

答:
It shares all of the common failings of Singleton implementations, namely:

It is untestable

It is not thread safe (this is trivial enough to see if you imagine two threads entering the function at the same time)

It is a memory leak

I recommend never using Singleton in any production code.

OwnerDisplayName: Dmitriy Matveev

Body:
I've seen implementations of Singleton patterns where instance variable was declared as static variable in GetInstance method. Like this:

SomeBaseClass &SomeClass::GetInstance()
{
   static SomeClass instance;
   return instance;
}

I see following positive sides of this approach:

The code is simpler, because it's compiler who responsible for creating this object only when GetInstance called for the first time.

The code is safer, because there is no other way to get reference to instance, but with GetInstance method and there is no other way to change instance, but inside GetInstance method.

What are the negative sides of this approach (except that this is not very OOP-ish) ? Is this thread-safe?

OwnerDisplayName: 1800 INFORMATION


问:
Inserting multiple or single blankrows in a datatable
```<code>private DataTable InsertABlankRow(DataTable dt)
    {
        int n = dt.Rows.Count;
        DataTable dtnew = new DataTable();
        if (dt.Columns.Contains("colname"))
        {
            var countRows = dt.Select("colname ='xyz'").Length;

            if (countRows > 1)
            {
                foreach (DataRow drow in dt.Rows)
                {
                    if (drow["colname"].ToString() == "xyz")
                    {
                        int index = dt.Rows.IndexOf(drow);
                        dt.Rows.InsertAt(dt.NewRow(), index + 1);
                        dt.AcceptChanges();
                    }
                }
            }
        }
}
</code>```

Modified code:

```<code>private DataTable Add_a_Row(DataTable dtnew)
    {
       DataTable dt = new DataTable();
        dt= dtnew.Clone();
        foreach (DataRow dr in dtnew.Rows)
        {
            dt.ImportRow(dr);
            if(dr["colname"].ToString()=="xyz")
            {
               dt.Rows.Add(dt.NewRow());
            }
        }
        return dt;
    }
</code>```

Hi All,
I am trying to insert blank rows at multiple places where ever the condition is met. For the first time when the condition is met a new empty row is added but for the second one it throws an exception, collection changed. Is there a way to do this in a much better way. Thank you...

答:
This is a common problem of removing or inserting items from a collection while enumerating it.

The usual solution is to index the collection in reverse order:

```<code>for (int i = list1.Count - 1; i >= 0; i--)
    list1.RemoveAt(i);
</code>```

Another solution is to create another collection:

```<code>foreach (var item in list1)
    list2.Add(item);
</code>```

The easiest and usually the least efficient solution is to enumerate a copy of the collection:

```<code>foreach (var item in list1.ToList())
    list1.Remove(item);
</code>```

Body:
private DataTable InsertABlankRow(DataTable dt)
    {
        int n = dt.Rows.Count;
        DataTable dtnew = new DataTable();
        if (dt.Columns.Contains("colname"))
        {
            var countRows = dt.Select("colname ='xyz'").Length;

            if (countRows > 1)
            {
                foreach (DataRow drow in dt.Rows)
                {
                    if (drow["colname"].ToString() == "xyz")
                    {
                        int index = dt.Rows.IndexOf(drow);
                        dt.Rows.InsertAt(dt.NewRow(), index + 1);
                        dt.AcceptChanges();
                    }
                }
            }
        }
}

Modified code:

private DataTable Add_a_Row(DataTable dtnew)
    {
       DataTable dt = new DataTable();
        dt= dtnew.Clone();
        foreach (DataRow dr in dtnew.Rows)
        {
            dt.ImportRow(dr);
            if(dr["colname"].ToString()=="xyz")
            {
               dt.Rows.Add(dt.NewRow());
            }
        }
        return dt;
    }

Hi All,
I am trying to insert blank rows at multiple places where ever the condition is met. For the first time when the condition is met a new empty row is added but for the second one it throws an exception, collection changed. Is there a way to do this in a much better way. Thank you...

Body:
This is a common problem of removing or inserting items from a collection while enumerating it.

The usual solution is to index the collection in reverse order:

for (int i = list1.Count - 1; i >= 0; i--)
    list1.RemoveAt(i);

Another solution is to create another collection:

foreach (var item in list1)
    list2.Add(item);

The easiest and usually the least efficient solution is to enumerate a copy of the collection:

foreach (var item in list1.ToList())
    list1.Remove(item);


问:
How to get values from SOAP type?
There are WSDL document with following:

```<code><xsd:simpleType name="CurrencyTypeEnum">
   <xsd:restriction base="xsd:int">
       <xsd:enumeration value="1" description="Rubles"/>
       <xsd:enumeration value="2" description="Dollars"/>
   </xsd:restriction>
</xsd:simpleType>
</code>```

When print_r($client->__getTypes()) I get this return: (it’s okay)

```<code>Array
(
    [0] => int CurrencyTypeEnum
}
</code>```

Question: How I can get word «Rubles» from SOAP answer using SOAP extension from PHP?

Already tried to find it myself, but without some results. Thanks.

答:
They are not listed, you can only get them from the XML.

For example, the PackageGenerator project extract them from the schema in  order to generate a constants class such as https://github.com/WsdlToPhp/PackageGenerator/blob/382ebfa6e636339bdfbd1eefd10f1d24a584cca3/tests/resources/generated/ValidApiPhonebookSortOptionApi.php

Title: How to get values from SOAP type?

Body:
There are WSDL document with following:

<xsd:simpleType name="CurrencyTypeEnum">
   <xsd:restriction base="xsd:int">
       <xsd:enumeration value="1" description="Rubles"/>
       <xsd:enumeration value="2" description="Dollars"/>
   </xsd:restriction>
</xsd:simpleType>

When print_r($client->__getTypes()) I get this return: (it’s okay)

Array
(
    [0] => int CurrencyTypeEnum
}

Question: How I can get word «Rubles» from SOAP answer using SOAP extension from PHP?

Already tried to find it myself, but without some results. Thanks.


问:
The server responded with a status of 500 AJAX Post
I have this javascript function which should redirect me to

http://localhost:8888/ID OF A PRODUCT/add-to-cart".

But instead I got this:

http://localhost:8888/undefined/add-to-cart".

```<code>$('.add-to-cart').on('click', function () {
        var productId = $(this).find('.indexImg').attr('id');

        $.ajax(productId+"/add-to-cart",
        {

        });
    });
</code>```

image}}" id="{{$product->id}}">

Can someone help me to get ID of a product ?

HTML:

```<code> @foreach($products as $product)
  <div class="col-md-3">
        <div class="box-product">
            <div class="img-wrapper item">
                <a href="/product/{{$product->id}}/{{$product->slug}}">
                    <a class="thumbnail" href="/product/{{$product->id}}/{{$product->slug}}" style="margin-bottom: 0px; border: none;">
                    <img class="indexImg" src="{{$product->image}}" id="{{$product->id}}">
                    </a>
                </a>
            <div class="tags">
            @if($product->discount > 0)
                <span class="label-tags"><span class="label label-danger">Išpardavimas</span></span>
            @endif
                <span class="label-tags"><span class="label label-info">Nauja</span></span>
            </div>
            <div class="option">
                <i class="fa fa-shopping-cart add-to-cart" aria-hidden="true" style="color: white"></i>
            </div>
        </div>
</code>```

答:
```<code>$('.add-to-cart').on('click', function (event) {
        var productId = event.target.id;

        $.ajax(productId+"/add-to-cart",
        {

        });
    });
</code>```

Body:
I have this javascript function which should redirect me to

http://localhost:8888/ID OF A PRODUCT/add-to-cart".

But instead I got this:

http://localhost:8888/undefined/add-to-cart".

$('.add-to-cart').on('click', function () {
        var productId = $(this).find('.indexImg').attr('id');

        $.ajax(productId+"/add-to-cart",
        {

        });
    });

image}}" id="{{$product->id}}">

Can someone help me to get ID of a product ?

HTML:

 @foreach($products as $product)

                id}}/{{$product->slug}}">
                    id}}/{{$product->slug}}" style="margin-bottom: 0px; border: none;">
                    image}}" id="{{$product->id}}">

            @if($product->discount > 0)
                Išpardavimas
            @endif
                Nauja


问:
Is there any way to show remote references with git log?
```<code>git log --oneline
</code>```

The above command gives me the followed results:

```<code>5485b34 Modify: something
ccaf2c4 Modify: another thing
85a87e8 Bug Fix: the other thing
</code>```

But because I'm using gerrit and usually gerrit has it's change number as refs/changes/... format, I want to collect list framed as follows:

```<code>refs/changes/85/104085/9 Modify: something
refs/changes/33/104033/9 Modify: another thing
refs/changes/83/104183/2 Bug Fix: the other thing
</code>```

I know there is a way to obtain the mapping between commit IDs and remote references by using "git ls-remote". And by using "git ls-remote", I can make a script to obtain the above result. But is there any better and simpler way to obtain the above results?

答:
I think it's not possible to get the info the way you want but you can get a lot of Gerrit review info doing the following:

1) Configure your repository to get the review info

```<code>$ git config --add remote.origin.fetch refs/notes/review:refs/notes/review
</code>```

2) After that, every update will bring the review info too

```<code>$ git fetch

remote: Counting objects: 66, done
remote: Finding sources: 100% (66/66)
remote: Total 66 (delta 18), reused 66 (delta 18)
Unpacking objects: 100% (66/66), done.
From https://GERRIT-SERVER/REPO-FULLNAME
* [new ref] refs/notes/review -> refs/notes/review
</code>```

3) To see the review info, add "--notes=review" to your "git log" command

```<code>$ git log --notes=review

commit a5bc87cb44e5e68154fb8bd3559f9753e1540fd7
Author: AUTHOR
Date: Thu May 8 16:02:16 2017 -0300
COMMIT-MESSAGE
Change-Id: CHANGE-ID
Notes (review):
Verification+1: REVIEWER1
Code-Review+1: REVIEWER2
Code-Review+1: REVIEWER3
Code-Review+2: REVIEWER4
Submitted-by: SUBMITTER
Submitted-at: Fri, 09 May 2017 08:23:28 -0300
Reviewed-on: https://GERRIT-SERVER/CHANGE-NUMBER
Project: REPO-FULLNAME
Branch: refs/heads/BRANCH
</code>```

Body:
git log --oneline

The above command gives me the followed results:

5485b34 Modify: something
ccaf2c4 Modify: another thing
85a87e8 Bug Fix: the other thing

But because I'm using gerrit and usually gerrit has it's change number as refs/changes/... format, I want to collect list framed as follows:

refs/changes/85/104085/9 Modify: something
refs/changes/33/104033/9 Modify: another thing
refs/changes/83/104183/2 Bug Fix: the other thing

I know there is a way to obtain the mapping between commit IDs and remote references by using "git ls-remote". And by using "git ls-remote", I can make a script to obtain the above result. But is there any better and simpler way to obtain the above results?

Body:
I think it's not possible to get the info the way you want but you can get a lot of Gerrit review info doing the following:

1) Configure your repository to get the review info

$ git config --add remote.origin.fetch refs/notes/review:refs/notes/review

2) After that, every update will bring the review info too

$ git fetch

remote: Counting objects: 66, done
remote: Finding sources: 100% (66/66)
remote: Total 66 (delta 18), reused 66 (delta 18)
Unpacking objects: 100% (66/66), done.
From https://GERRIT-SERVER/REPO-FULLNAME
* [new ref] refs/notes/review -> refs/notes/review

3) To see the review info, add "--notes=review" to your "git log" command

$ git log --notes=review

commit a5bc87cb44e5e68154fb8bd3559f9753e1540fd7
Author: AUTHOR
Date: Thu May 8 16:02:16 2017 -0300
COMMIT-MESSAGE
Change-Id: CHANGE-ID
Notes (review):
Verification+1: REVIEWER1
Code-Review+1: REVIEWER2
Code-Review+1: REVIEWER3
Code-Review+2: REVIEWER4
Submitted-by: SUBMITTER
Submitted-at: Fri, 09 May 2017 08:23:28 -0300
Reviewed-on: https://GERRIT-SERVER/CHANGE-NUMBER
Project: REPO-FULLNAME
Branch: refs/heads/BRANCH


问:
Creating a child class of XElement that still keeps a reference to the original XElement and preserves the tree structure
To start things off, let me explain that I'm working with a class that inherits the XElement class.  The new class is called MXElement.  It adds some new functionality to it for navigating through the XML tree, as well as some more information regarding attributes, but that's not particularly important.  My problem is that I have an XML Tree filled with XElement objects.

However, when I create a new MXElement object from the XElement object before, it is just a copy of that object.  This means that any changes that I make to this object will not effect the original tree.

I suppose what I'm asking for is a way to build in the functionality for my MXElement class and keep references to the original XElement objects.  If possible, I would really prefer to keep MXElement a child class instead of building a lot of extension methods for XElement.

答:
I reworked the entire idea and instead of using a child class, I used XPath to modify the tree.

For future ideas, I would like to know if there is still a solution to my original problem, but this is the solution I chose for my current problem.


问:
C# String Comparison Ignore Case Sensitivity HTML Tags
I have to compare 2 strings that have HTML tags in them. I'd like to ignore the casing of the HTML tags themselves, but DO compare the casing of the other strings outside of HTML tags. Would like some help in coding this logic.
For example, I want to ignore the casing of the TD tags in the strings below.</p>

```<code>String1: "<td>this is case-sensitive</td>"

String2: "<TD>THIS is CASE-sensitive</TD>"
</code>```

答:
You could use the Regex class then do a comparison.

So following your example you could do the following:

```<code>var string1 = "<td>This is case-sensitive</td>";
var string2 = "<TD>This is case-Sensitive</TD>";

var regex = new Regex("<[^>]*>");

Console.WriteLine(regex.Replace(string1, "") == regex.Replace(string2, ""));
//Result is False
</code>```

Body:
I have to compare 2 strings that have HTML tags in them. I'd like to ignore the casing of the HTML tags themselves, but DO compare the casing of the other strings outside of HTML tags. Would like some help in coding this logic.
For example, I want to ignore the casing of the TD tags in the strings below.

String1: "this is case-sensitive	"

String2: "THIS is CASE-sensitive	"

Body:
You could use the Regex class then do a comparison.

So following your example you could do the following:

var string1 = "<td>This is case-sensitive</td>";
var string2 = "<TD>This is case-Sensitive</TD>";

var regex = new Regex("<[^>]*>");

Console.WriteLine(regex.Replace(string1, "") == regex.Replace(string2, ""));
//Result is False


问:
WCF timeout client vs server
Can anyone explain to me what is the difference between the timeout configuration on the server vesus on the client ? For example, what would happen if a client sets the sendTimeout to 5 minutes while the configuration on the server has it set for 1 minute ? Does the client prevail since it initiates the communication ?

Thanks for your help !

答:
In tests the scenario that you asked. The timeout of the request is 5 minutes, which was defined in the client

On the Client-side Timeouts

SendTimeout – used to initialize the OperationTimeout, which governs the whole process of sending a message, including receiving a reply message for a request/reply service operation. This timeout also applies when sending reply messages from a callback contract method.

ReceiveTimeout – is not used

On the Service-side Timeouts

SendTimeout are the same as on the client

ReceiveTimeout – used by the Service Framework Layer to initialize the session-idle timeout which controls how long a session can be idle before timing out.

See https://learn.microsoft.com/en-us/dotnet/framework/wcf/feature-details/configuring-timeout-values-on-a-binding

Title: WCF timeout client vs server


问:
is it possible to use a service into a typescript class in Angular 2+
I have a class as follows which is not annotated with @Injectable

```<code>export class A extends B {

    calculateTotal(): number {
        //Implementation
    }
}
</code>```

The above function calculateTotal needs to use a service which is annotated with @Injectable to be able to get some values to perform some totals. Question is: is it ok to use that service into that class?

Ashley

答:
There are different ways to get one SomeService instance injected into class A. The one I use e.g. in Ionic 2 is:

if class A can be a Component, add the @Component decorator to its definition and the providers metadata to it;

import the service definition in the class A definition file;

add a constructor method to class A and declare a service instance as argument.

For example, assuming that the service class is named SomeService and is defined in the file some.service.ts in the same directory as the current source file:

```<code>import { Component } from '@angular/core';
import { SomeService } from './some.service';

@Component({
    providers: [ SomeService ]
})
export class A extends B {

    constructor( public s:SomeService ){}

    otherMethod(){
        this.s; // SomeService is accessible like this
    }
}
</code>```

More information is available in the official docs.

Body:
I have a class as follows which is not annotated with @Injectable

export class A extends B {

    calculateTotal(): number {
        //Implementation
    }
}

The above function calculateTotal needs to use a service which is annotated with @Injectable to be able to get some values to perform some totals. Question is: is it ok to use that service into that class?

Ashley

Body:
There are different ways to get one SomeService instance injected into class A. The one I use e.g. in Ionic 2 is:

if class A can be a Component, add the @Component decorator to its definition and the providers metadata to it;

import the service definition in the class A definition file;

add a constructor method to class A and declare a service instance as argument.

For example, assuming that the service class is named SomeService and is defined in the file some.service.ts in the same directory as the current source file:

import { Component } from '@angular/core';
import { SomeService } from './some.service';

@Component({
    providers: [ SomeService ]
})
export class A extends B {

    constructor( public s:SomeService ){}

    otherMethod(){
        this.s; // SomeService is accessible like this
    }
}

More information is available in the official docs.