Search Results

Search found 23792 results on 952 pages for 'void pointers'.

Page 679/952 | < Previous Page | 675 676 677 678 679 680 681 682 683 684 685 686  | Next Page >

  • Unit Test this - Simple method but don't know what's to test!

    - by user309705
    a very simple method, but don't know what's to test! I'd like to test this method in Business Logic Layer, and the _dataAccess apparently is from data layer. public DataSet GetLinksByAnalysisId(int analysisId) { DataSet result = new DataSet(); result = _dataAccess.SelectAnalysisLinksOverviewByAnalysisId(analysisId); return result; } All Im testing really is to test _dataAccess.SelectAnalysisLinksOverviewByAnalysisId() is get called! here's my test code (using Rhino mock) [TestMethod] public void Test() { var _dataAccess = MockRepository.GenerateMock<IDataAccess>(); _dataAccess.Expect(x => x.SelectAnalysisLinksOverviewByAnalysisId(_settings.UserName, 0, out dateExecuted)); var analysisBusinessLogic = new AnalysisLinksBusinessLogic(_dataAccess); analysisBusinessLogic.GetLinksByAnalysisId(_settings, 0); _dataAccess.VerifyAllExpectations(); } Let me know if you writing the test for this method what would you test against? Many Thanks!

    Read the article

  • Copy Paste is Disabled in Property Grid

    - by ofarooq
    Hi All, I have a FileNameEditor inside a property grid, which has a few entries like Main File : "C:\blah1" Sec File: "C:\blah2" and so on. My problem is that I cannot copy and paste from one property entry to another, and I cannot type in the fields manually as well. Is there a specific property that will enable editing inside the FileNameEditor. Example public class MyEditor : FileNameEditor { public override bool GetPaintValueSupported(ITypeDescriptorContext context) { return false; } public override object EditValue(ITypeDescriptorContext context, IServiceProvider provider, object value) { object e = base.EditValue(context, provider, value); if ((value as MyFileS) != null) { (value as MyFilesS).FileName = (String) e; } return e; } protected override void InitializeDialog(OpenFileDialog openFileDialog) { base.InitializeDialog(openFileDialog); } } Thanks

    Read the article

  • Nested fragments survive screen rotation

    - by ievgen
    I've faced with an issue with Nested Fragments in Android. When I rotate the screen the Nested Fragments survive somehow. I've come up with a sample example to illustrate this issue. public class ParentFragment extends BaseFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_parent, container); } @Override public void onViewCreated(View view, Bundle savedInstanceState) { super.onViewCreated(view, savedInstanceState); getChildFragmentManager() .beginTransaction() .add(getId(), new ParentFragmentChild(), ParentFragmentChild.class.getName()) .commit(); } @Override public void onResume() { super.onResume(); log.verbose("onResume(), numChildFragments: " + getChildFragmentManager().getFragments().size()); } } public class ParentFragmentChild extends BaseFragment { @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { return inflater.inflate(R.layout.fragment_child, null); } } BaseFragment just logs method calls. This is what I see when I rotate the screen. When Activity initially appears ParentFragment? onAttach(): ParentFragment{420d0a98 #0 id=0x7f060064} ParentFragment? onCreate() ParentFragment? onViewCreated() ParentFragmentChild? onAttach(): ParentFragmentChild{420d08d0 #0 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragmentChild? onViewCreated() ParentFragment? onResume() ParentFragment? onResume(), numChildFragments: 1 ParentFragmentChild? onResume() Screen rotation #1 ParentFragmentChild? onPause() ParentFragment? onPause() ParentFragment? onSaveInstanceState() ParentFragmentChild? onSaveInstanceState() ParentFragmentChild? onStop() ParentFragment? onStop() ParentFragmentChild? onDestroyView() ParentFragment? onDestroyView() ParentFragmentChild? onDestroy() ParentFragmentChild? onDetach() ParentFragment? onDestroy() ParentFragment? onDetach() ParentFragment? onAttach(): ParentFragment{4211bc38 #0 id=0x7f060064} ParentFragment? onCreate() ParentFragmentChild? onAttach(): ParentFragmentChild{420f4180 #0 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragment? onViewCreated() ParentFragmentChild? onViewCreated() ParentFragmentChild? onAttach(): ParentFragmentChild{42132a08 #1 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragmentChild? onViewCreated() ParentFragment? onResume() ParentFragment? onResume(), numChildFragments: 2 ParentFragmentChild? onResume() ParentFragmentChild? onResume() Screen rotation #2 ParentFragmentChild? onPause() ParentFragmentChild? onPause() ParentFragment? onPause() ParentFragment? onSaveInstanceState() ParentFragmentChild? onSaveInstanceState() ParentFragmentChild? onSaveInstanceState() ParentFragmentChild? onStop() ParentFragmentChild? onStop() ParentFragment? onStop() ParentFragmentChild? onDestroyView() ParentFragmentChild? onDestroyView() ParentFragment? onDestroyView() ParentFragmentChild? onDestroy() ParentFragmentChild? onDetach() ParentFragmentChild? onDestroy() ParentFragmentChild? onDetach() ParentFragment? onDestroy() ParentFragment? onDetach() ParentFragment? onAttach(): ParentFragment{42122a48 #0 id=0x7f060064} ParentFragment? onCreate() ParentFragmentChild? onAttach(): ParentFragmentChild{420ffd48 #0 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragmentChild? onAttach(): ParentFragmentChild{420fffa0 #1 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragment? onViewCreated() ParentFragmentChild? onViewCreated() ParentFragmentChild? onViewCreated() ParentFragmentChild? onAttach(): ParentFragmentChild{42101488 #2 id=0x7f060064 com.kinoteatr.ua.filmgoer.test.ParentFragmentChild} ParentFragmentChild? onCreate() ParentFragmentChild? onViewCreated() ParentFragment? onResume() ParentFragment? onResume(), numChildFragments: 3 ParentFragmentChild? onResume() ParentFragmentChild? onResume() ParentFragmentChild? onResume() They keep getting multiplied. Does anybody know why is that ?

    Read the article

  • populate a listbox from a.. function?

    - by andrew
    hello first of all i'm kinda new to C# I'm trying to do something like this in a C# winforms application when my app starts, a form starts minimized in the system tray. when i double click it, it opens and sends a request to a qpid broker for some info. then a message is sent back, and received in a listener in my app (i'm not sure code is relevant but i'll post it anyway) namespace MyApp { public class MyListener : IMessageListener { public void MessageTransfer(IMessage m) { //do stuff with m } } } what i'm trying to do is populate a listbox that's in that form with the message received in that function, but i have no idea how to communicate with that specific form from the MessageTransfer function

    Read the article

  • How to release a string created inside a method in iphone?

    - by Warrior
    I have declared a local string inside the method.I am releasing the string inside the same method.I found my code crashing if release that object.If i dont release the string,code runs successfully.I have called that method in viewdidappear so that method is called while pushing and poping.Nothing gets printed in the console. Here is my code -(void)appendString{ NSString *locStr = [[NSString alloc] initWithString:@""]; for (int i=0;i<[result count]; i++) { locStr=[locStr stringByAppendingFormat:@"%@",[result objectAtIndex:i]]; } [str setString:locStr]; [locStr release]; } I am calling the "appendString" method from "viewDidAppear"."str" is a NSMutable string declared in .h class.How should i release the "locStr" .Please help me out

    Read the article

  • Affine Transforms with Demo App

    - by Dex
    I have a demo app here https://github.com/rdetert/image-transform-test After importing an image, you can pinch, zoom, rotate the image. What I want to do is save out a 640x480 image (landscape mode) that looks identical to the live preview. So if there are 100px bars of empty space on the sides, I need the same empty bars in the final output (scaled appropriately). This is proving to be more difficult than I thought it would be. I can't quite get it to come out right after days of working on it. The magic method that generates the final image is called -(void)generateFinalImage Good luck! ;)

    Read the article

  • Is it possible to reinterpret pointer as dimensioned array reference?

    - by aaa
    hi. Suppose I have some pointer, which I want to reinterpret as static dimension array reference: double *p; double (&r)[4] = ?(p); // some construct? // clarify template< size_t N> void function(double (&a)[N]); ... double *p; function(p); // this will not work. // I would like to cast p as to make it appear as double[N] Is it possible to do so? how do I do it?

    Read the article

  • delete item from array in java

    - by davit-datuashvili
    hello can anybody tell me what is wrong here? i want delete item from array but it shows me error ArrayIndexOutBound exception public class delete{ public static void main(String[]args){ int i; //delete item from array int k[]=new int[]{77,99,44,11,00,55,66,33,10}; //delete 55 int searchkey=55; int nums=k.length; for ( i=0;i<nums;i++) if (k[i]==searchkey) break; for (int t=i;t<nums;t++) k[t]=k[t+1]; nums--; for (int m=0;m<nums;m++){ System.out.println(k[m]); } } }

    Read the article

  • How can I work with the Tag property of a winforms checked listbox item?

    - by JMSA
    How can I write a C# winforms code like this? CheckedListBox items don't have 'Tag' and 'ValueMember' properties. I know there are many alternatives to this. But I need to work it this way. private void LoadPermissionsToCheckedListBox() { Role selctedRole = (Role)comboBox1.SelectedItem; int i = 0; foreach (Permission p in selctedRole.PermissionItems) { checkedListBox1.Items.Add(p); checkedListBox1.Items[i].Tag = p; } checkedListBox1.DisplayMember = "PermissionKey"; checkedListBox1.ValueMember = "PermissionID"; }

    Read the article

  • UIWebView in full screen hides status bar

    - by iPhone
    I am opening video in UIWebView with following code. - (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { NSLog(@"Navigatin Type %d %@",navigationType, request); if (navigationType == 0) { self.navigationItem.leftBarButtonItem = backBarBtn; [self showVideoInWebView:[request.URL absoluteString]]; return NO; } return YES; } -(void)showVideoInWebView:(NSString *)urlStr { [mainWebView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlStr]]]; } but when my mainWebView opens in full screen it hides my status bar. I don't want to hide status bar then how can I show my status bar?

    Read the article

  • How do I set a value to the Session in asp.net on an onClick event of a normal htmlElement?

    - by William Calleja
    I need to make a Function that receives a Session Key and a Session Value and call this function on a normal HTML onClick event. When this function is called the Session variable is assigned the Key I sent with the Value I sent. So far I have this: <script runat="server" type="text/C#"> protected void setSessionValue(string key, string value) { Session[key] = value; } </script> But when I try to call if like so: onclick="setSessionValue('itemID','3345');" Its not working and giving me an error. Any help? I'm using c# and asp.net but I can't use code behind and need to work everything off the page.

    Read the article

  • Locating the UIView that UITableView scrolls over

    - by Coocoo4Cocoa
    Hi all, I'm working on trying to obtain the UIView that UITableView scrolls over, if scrolling is enabled. Typically, the background is white, and if you push the UITableView out of its bounds, you'll see a background. I'm trying to set this background to a UIColor of blackColor. I can't seem to find the appropriate one to tag. I've tried the following code in my UIViewController: - (void)loadView { [super loadView]; UITableView *aTableView = [[[UITableView alloc] initWithFrame:self.view.bounds style:UITableViewStylePlain] autorelease]; [aTableView setScrollEnabled:YES]; [self.view setBackgroundColor:[UIColor blackColor]]; [self.view addSubview:aTableView]; self.tableView = aTableView; } The color still stays white. Seems I'm hitting the wrong UIView. Any idea? Thanks.

    Read the article

  • Accessing properties through Generic type parameter

    - by Veer
    I'm trying to create a generic repository for my models. Currently i've 3 different models which have no relationship between them. (Contacts, Notes, Reminders). class Repository<T> where T:class { public IQueryable<T> SearchExact(string keyword) { //Is there a way i can make the below line generic //return db.ContactModels.Where(i => i.Name == keyword) //I also tried db.GetTable<T>().Where(i => i.Name == keyword) //But the variable i doesn't have the Name property since it would know it only in the runtime //db also has a method ITable GetTable(Type modelType) but don't think if that would help me } } In MainViewModel, I call the Search method like this: Repository<ContactModel> _contactRepository = new Repository<ContactModel>(); public void Search(string keyword) { var filteredList = _contactRepository.SearchExact(keyword).ToList(); } I use Linq-To-Sql.

    Read the article

  • Combining XmlSerializer and XmlWriter?

    - by num3ric
    In addition to a list of objects I am serializing to an xml file using C#'s XmlSerializer, I would like to store a few more independent elements (mainly strings from textboxes) in the same xml. public static void SaveBehaviors(ObservableCollection<Param> listParams) { XmlSerializer _paramsSerializer = new XmlSerializer(listParams.GetType()); string path = Environment.GetFolderPath(Environment.SpecialFolder.Desktop); path += "\\test.xml"; using (TextWriter writeFileStream = new StreamWriter(path)) { _paramsSerializer.Serialize(writeFileStream, listParams); using (XmlWriter writer = XmlWriter.Create(writeFileStream)) { writer.WriteStartElement("Foo"); //test entry... writer.WriteAttributeString("Bar", "Some & value"); writer.WriteElementString("Nested", "data"); writer.WriteEndElement(); } } } However, deserializing "test.xml" results in an error because of the added element. I suppose writing in the serialized xml file is prohibited and should be avoided?

    Read the article

  • Auto injecting logger with guice

    - by koss
    With reference to Guice's custom injections article, its TypeListener performs a check for InjectLogger.class annotation - which can be optional. Removing that check will inject to all Logger.class types. class Log4JTypeListener implements TypeListener { public <T> void hear(TypeLiteral<T> typeLiteral, TypeEncounter<T> typeEncounter) { for (Field field : typeLiteral.getRawType().getDeclaredFields()) { if (field.getType() == Logger.class && field.isAnnotationPresent(InjectLogger.class)) { typeEncounter.register(new Log4JMembersInjector<T>(field)); } } } } I'm tempted to remove "&& field.isAnnotationPresent(InjectLogger.class)" from the listener. If we're using Guice to inject all instances of our Logger, is there any reason not to do it automatically (without need to annotate)?

    Read the article

  • Access the camera of a Smartphone using libGDX

    - by PH-zero
    I searched the web, browsed through the libGDX wiki, but without success. My Question: Is there a way, to access the camera of smartphones, let the user take a photo, and then store the image in a Texture-instance? I could imagin something like this: @Override public void onCamTrigger(){ ApplicationType appType = Gdx.app.getType(); switch (appType) { case Android: case iOS: Texture someTexture = new Texture(Gdx.input.getCamera().getImage()); //do something with the Texture instance... someTexture.dispose(); break; default: break; } } Of course this is pure fiction! I know that there's a lot more to this like opening the camera, displaying it, then take a photo etc. . But is there a convenience method like this? If so, how does it work? On Android, i think i could implement it without using any convenience methods offered by libGDX, but i have no idea on how this works on iOS =/

    Read the article

  • dropdown list selected index changed

    - by KareemSaad
    I did my drop down list that get it,s values from database and when run the application it didnot work and compiler didnot see the code onselectedindexchanged="DDlProductFamily_SelectedIndexChanged" protected void DDlProductFamily_SelectedIndexChanged(object sender, EventArgs e) { using (SqlConnection Con = Connection.GetConnection()) { SqlCommand Com = new SqlCommand("SelectThumbByProductFamily", Con); Com.CommandType = CommandType.StoredProcedure; Com.Parameters.Add(Parameter.NewInt("@ProductCategory_Id", DDlProductFamily.SelectedValue.ToString())); SqlDataAdapter DA = new SqlDataAdapter(Com); DA.Fill(dt); DataList1.DataSource = dt; DataList1.DataBind(); } }

    Read the article

  • Controlling the visibility of a Bitmap in .NET

    - by ET
    Hi everyone, I am trying to create this simple application in c#: when the user double clicks on specific location in the form, a little circle will be drawn. By one click, if the current location is marked by a circle - the circle will be removed. I am trying to do this by simply register the MouseDoubleClick and MouseClick events, and to draw the circle from a .bmp file the following way: private void MouseDoubleClick (object sender, MouseEventArgs e) { Graphics g = this.CreateGraphics(); Bitmap myImage = (Bitmap)Bitmap.FromFile("Circle.bmp"); g.DrawImage(myImage, e.X, e.Y); } My problem is that I dont know how to make the circle unvisible when the user clicks its location: I know how to check if the selected location contains a circle (by managing a list of all the locations containig circles...), but I dont know how exactly to delete it. Another question: should I call the method this.CreateGraphics() everytime the user double-clicks a location, as I wrote in my code snippet, or should I call it once on initialization?

    Read the article

  • Re-ordering a collection of UIView's based on their CGPoint

    - by Chris
    Hi all, I have a NSMutableArray that holds a collection of UIViewControllers Amongst other properties and methods an instance of each of the viewControllers are placed in a parent view The user will place these objects individually when desired to. So essentially I use - (void)addSubview:(UIView *)view when a new view is added to the parent view controller. Because the UI is isometric it's made things a tad more complicated What I am trying to do is re-order the views based on their co-ordinate position, so items higher up the parent UIView frame is indexed lower then views lower in the parent UIview frame. And items that are on the left side of the view are positioned at a higher index to those on the right I think the solution may have to do with re-ordering the NSMutableArray but how can I compare the CGpoints? Do I need to compare the x and y separately?

    Read the article

  • ASP.NET web services leak memory when (de)serializing disposable objects?

    - by Serilla
    In the following two cases, if Customer is disposable (implementing IDisposable), I believe it will not be disposed by ASP.NET, potentially being the cause of a memory leak: [WebMethod] public Customer FetchCustomer(int id) { return new Customer(id); } [WebMethod] public void SaveCustomer(Customer value) { // save it } This flaw applies to any IDisposable object. So returning a DataSet from a ASP.NET web service, for example, will also result in a memory leak - the DataSet will not be disposed. In my case, Customer opened a database connection which was cleaned up in Dispose - except Dispose was never called resulting in loads of unclosed database connections. I realise there a whole bunch of bad practices being followed here (its only an example anyway), but the point is that ASP.NET - the (de)serializer - is responsible for disposing these objects, so why doesn't it? This is an issue I was aware of for a while, but never got to the bottom of. I'm hoping somebody can confirm what I have found, and perhaps explain if there is a way of dealing with it.

    Read the article

  • Java Font Display Problem

    - by Yan Cheng CHEOK
    I realize that, in my certain customer side, when I use the font provided by Graphics2D itself, and decrease the size by 1, it cannot display properly. private void drawInformationBox(Graphics2D g2, JXLayer<? extends V> layer) { if (MainFrame.getInstance().getJStockOptions().getYellowInformationBoxOption() == JStockOptions.YellowInformationBoxOption.Hide) { return; } final Font oldFont = g2.getFont(); final Font paramFont = new Font(oldFont.getFontName(), oldFont.getStyle(), oldFont.getSize()); final FontMetrics paramFontMetrics = g2.getFontMetrics(paramFont); final Font valueFont = new Font(oldFont.getFontName(), oldFont.getStyle() | Font.BOLD, oldFont.getSize() + 1); final FontMetrics valueFontMetrics = g2.getFontMetrics(valueFont); /* * This date font cannot be displayed properly. Why? */ final Font dateFont = new Font(oldFont.getFontName(), oldFont.getStyle(), oldFont.getSize() - 1); final FontMetrics dateFontMetrics = g2.getFontMetrics(dateFont); Rest of the font is OK. Here is the screen shoot (See the yellow box. There are 3 type of different font within the yellow box) :

    Read the article

  • A basic animation not showing up

    - by Rilakkuma
    I still try different basics with android, and now I'm stuck with animation. I'm trying to implement a simple animation. I've defined animation in xml file like this: alpha android:interpolator="@android:anim/accelerate_interpolator" android:fromAlpha="0.0" android:toAlpha="1.0" duration="3000" repeatCount="infinite" In my main view group I have an ImageView defined like this: <ImageView android:id="@+id/someb" android:src="@drawable/earth_normal" android:layout_width="wrap_content" android:layout_height="wrap_content" android:padding="5dip"/> And this is from my starting activity class: public class Ohayou extends Activity { @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); ImageView earth = (ImageView)findViewById(R.id.someb); Animation earthFadeInAnimation = AnimationUtils.loadAnimation(this, R.anim.fade_in); earth.startAnimation(earthFadeInAnimation); } It finds ImageView successfuly and creates animation. but when I start emulator ImageView just shows the original src image, not an animation. What am I doing wrong? Thanks

    Read the article

  • Cleanest Way to Invoke Cross-Thread Events

    - by Nick
    I find that the .NET event model is such that I'll often be raising an event on one thread and listening for it on another thread. I was wondering what the cleanest way to marshal an event from a background thread onto my UI thread is. Based on the community suggestions, I've used this: // earlier in the code mCoolObject.CoolEvent+= new CoolObjectEventHandler(mCoolObject_CoolEvent); // then private void mCoolObject_CoolEvent(object sender, CoolObjectEventArgs args) { if (InvokeRequired) { CoolObjectEventHandler cb = new CoolObjectEventHandler( mCoolObject_CoolEvent); Invoke(cb, new object[] { sender, args }); return; } // do the dirty work of my method here }

    Read the article

  • Fragment savedInstanceState is always null (Android support lib)

    - by Evgeny Egorov
    I wrote a simple test project, but I cant understand why I always receive savedInstanceState = null in lifecycle methods onCreate, onCreateView and onActivityCreated. I change the screen orientation, see the log, but state not saved. Tell me please where is my mistake. Thanks. The code of fragment class is: public class TestFragment extends Fragment { private String state = "1"; @Override public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState) { if (savedInstanceState != null) { //never works state = savedInstanceState.getString("state"); } //always prints 1 Toast.makeText(getActivity(), state, Toast.LENGTH_SHORT).show(); return inflater.inflate(R.layout.fragment_layout, container, false); } @Override public void onSaveInstanceState(Bundle outState) { super.onSaveInstanceState(outState); outState.putString("state", "2"); Log.e("", "saved 2"); } }

    Read the article

  • Java AD Authentication across Trusted Domains

    - by benjiisnotcool
    I am trying to implement Active Directory authentication in Java which will be ran from a Linux machine. Our AD set-up will consist of multiple servers that share trust relationships with one another so for our test environment we have two domain controllers: test1.ad1.foo.com who trusts test2.ad2.bar.com. Using the code below I can successfully authenticate a user from test1 but not on test2: public class ADDetailsProvider implements ResultSetProvider { private String domain; private String user; private String password; public ADDetailsProvider(String user, String password) { //extract domain name if (user.contains("\\")) { this.user = user.substring((user.lastIndexOf("\\") + 1), user.length()); this.domain = user.substring(0, user.lastIndexOf("\\")); } else { this.user = user; this.domain = ""; } this.password = password; } /* Test from the command line */ public static void main (String[] argv) throws SQLException { ResultSetProvider res = processADLogin(argv[0], argv[1]); ResultSet results = null; res.assignRowValues(results, 0); System.out.println(argv[0] + " " + argv[1]); } public boolean assignRowValues(ResultSet results, int currentRow) throws SQLException { // Only want a single row if (currentRow >= 1) return false; try { ADAuthenticator adAuth = new ADAuthenticator(); LdapContext ldapCtx = adAuth.authenticate(this.domain, this.user, this.password); NamingEnumeration userDetails = adAuth.getUserDetails(ldapCtx, this.user); // Fill the result set (throws SQLException). while (userDetails.hasMoreElements()) { Attribute attr = (Attribute)userDetails.next(); results.updateString(attr.getID(), attr.get().toString()); } results.updateInt("authenticated", 1); return true; } catch (FileNotFoundException fnf) { Logger.getAnonymousLogger().log(Level.WARNING, "Caught File Not Found Exception trying to read cris_authentication.properties"); results.updateInt("authenticated", 0); return false; } catch (IOException ioe) { Logger.getAnonymousLogger().log(Level.WARNING, "Caught IO Excpetion processing login"); results.updateInt("authenticated", 0); return false; } catch (AuthenticationException aex) { Logger.getAnonymousLogger().log(Level.WARNING, "Caught Authentication Exception attempting to bind to LDAP for [{0}]", this.user); results.updateInt("authenticated", 0); return true; } catch (NamingException ne) { Logger.getAnonymousLogger().log(Level.WARNING, "Caught Naming Exception performing user search or LDAP bind for [{0}]", this.user); results.updateInt("authenticated", 0); return true; } } public void close() { // nothing needed here } /** * This method is called via a Postgres function binding to access the * functionality provided by this class. */ public static ResultSetProvider processADLogin(String user, String password) { return new ADDetailsProvider(user, password); } } public class ADAuthenticator { public ADAuthenticator() throws FileNotFoundException, IOException { Properties props = new Properties(); InputStream inStream = this.getClass().getClassLoader(). getResourceAsStream("com/bar/foo/ad/authentication.properties"); props.load(inStream); this.domain = props.getProperty("ldap.domain"); inStream.close(); } public LdapContext authenticate(String domain, String user, String pass) throws AuthenticationException, NamingException, IOException { Hashtable env = new Hashtable(); this.domain = domain; env.put(Context.INITIAL_CONTEXT_FACTORY, com.sun.jndi.ldap.LdapCtxFactory); env.put(Context.PROVIDER_URL, "ldap://" + test1.ad1.foo.com + ":" + 3268); env.put(Context.SECURITY_AUTHENTICATION, simple); env.put(Context.REFERRAL, follow); env.put(Context.SECURITY_PRINCIPAL, (domain + "\\" + user)); env.put(Context.SECURITY_CREDENTIALS, pass); // Bind using specified username and password LdapContext ldapCtx = new InitialLdapContext(env, null); return ldapCtx; } public NamingEnumeration getUserDetails(LdapContext ldapCtx, String user) throws NamingException { // List of attributes to return from LDAP query String returnAttributes[] = {"ou", "sAMAccountName", "givenName", "sn", "memberOf"}; //Create the search controls SearchControls searchCtls = new SearchControls(); searchCtls.setReturningAttributes(returnAttributes); //Specify the search scope searchCtls.setSearchScope(SearchControls.SUBTREE_SCOPE); // Specify the user to search against String searchFilter = "(&(objectClass=*)(sAMAccountName=" + user + "))"; //Perform the search NamingEnumeration answer = ldapCtx.search("dc=dev4,dc=dbt,dc=ukhealth,dc=local", searchFilter, searchCtls); // Only care about the first tuple Attributes userAttributes = ((SearchResult)answer.next()).getAttributes(); if (userAttributes.size() <= 0) throw new NamingException(); return (NamingEnumeration) userAttributes.getAll(); } From what I understand of the trust relationship, if trust1 receives a login attempt for a user in trust2, then it should forward the login attempt on to it and it works this out from the user's domain name. Is this correct or am I missing something or is this not possible using the method above? --EDIT-- The stack trace from the LDAP bind is {java.naming.provider.url=ldap://test1.ad1.foo.com:3268, java.naming.factory.initial=com.sun.jndi.ldap.LdapCtxFactory, java.naming.security.authentication=simple, java.naming.referral=follow} 30-Oct-2012 13:16:02 ADDetailsProvider assignRowValues WARNING: Caught Authentication Exception attempting to bind to LDAP for [trusttest] Auth error is [LDAP: error code 49 - 80090308: LdapErr: DSID-0C0903A9, comment: AcceptSecurityContext error, data 52e, v1db0]

    Read the article

< Previous Page | 675 676 677 678 679 680 681 682 683 684 685 686  | Next Page >